Notice
Recent Posts
Recent Comments
Link
투케이2K
176. (ios/swift) 유닛 테스트 (Unit Test) 수행 방법 설명 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT
[요약 설명]
/**
* // -----------------------------------------
* TODO [유닛 테스트 설명 및 사용 이유]
* // -----------------------------------------
* 1. 유닛 테스트는 프로그래밍에서 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차입니다
* // -----------------------------------------
* 2. 유닛 테스트는 모든 함수와 메소드에 대한 테스트 케이스(Test case)를 작성하는 절차입니다
* // -----------------------------------------
* 3. 유닛 테스트는 필요한 부분만 테스트를 수행할 수 있으므로 전체 빌드 후 테스트를 수행하는 방법 보다 시간을 단축할 수 있습니다
* // -----------------------------------------
* 4. 유닛 단위는 메소드 및 클래스 등이 될 수 있습니다
* // -----------------------------------------
* 5. 전체 프로젝트 시간이 짧은 경우 유닛 테스트를 생략하는 경우가 많지만 추후 리팩토링을 고려해서 유닛 테스트를 진행하면서 개발하는 것이 좋습니다
* // -----------------------------------------
* */
[그림 설명]
[Calculator : 소스 코드]
import Foundation
import UIKit
public class Calculator {
/*
* // -----------------------------------------
* TODO [클래스 설명]
* // -----------------------------------------
* 1. 더하기 (add), 빼기 (minus) 연산 수행 계산 클래스
* // -----------------------------------------
* 2. 유닛 테스트 작성 : swiftTestTests
* // -----------------------------------------
* */
// [더하기 수행 메소드 정의]
func add (one:Int, two:Int) -> Int {
return one + two
}
// [빼기 수행 메소드 정의]
func minus (one:Int, two:Int) -> Int {
return one - two
}
}
[swiftTestTests : 소스 코드]
//
// swiftTestTests.swift
// swiftTestTests
//
// Created by 601559965 on 2022/08/29.
//
import XCTest
// [전체 프로젝트 import 수행 실시]
@testable import swiftTest
class swiftTestTests: XCTestCase {
/*
* // -----------------------------------------
* TODO [클래스 설명]
* // -----------------------------------------
* 1. 유닛 테스트 클래스
* // -----------------------------------------
* 2. XCTAssertEqual(예상 기대 결과, 메소드 지정 및 파라미터 삽입);
* // -----------------------------------------
* 3. 성공 (passed) / 실패 (failures) 표시
* // -----------------------------------------
* */
// [테스트 메소드가 실행 되기 (전)]
override func setUpWithError() throws {
}
// [테스트 메소드가 실행 된 (후)]
override func tearDownWithError() throws {
}
// [테스트 케이스 : XCTAssert]
func testExample() throws {
// [정상 동작 >> 성공 (passed) 가 표시되는 지 확인]
XCTAssertEqual(5, Calculator().add(one: 2, two: 3))
// [에러 발생 작성 >> 에러가 표시되는지 확인]
//XCTAssertEqual(0, Calculator().minus(one: 2, two: 3))
}
// [테스트 케이스 : Time Check]
func testPerformanceExample() throws {
measure {
// Put the code you want to measure the time of here.
}
}
}
반응형
'IOS' 카테고리의 다른 글
Comments