Swift 용 단위 테스트 (Unit Test)를 만드는 방법
소개
Mac 환경의 기사입니다만, Windows 환경도 같은 순서가 됩니다. 환경 의존 부분을 읽어보십시오.
목적
이 기사를 끝까지 읽으면 다음을 할 수 있습니다.
テストターケッド
ViewController.swift
import UIKit
class ViewController: UIViewController {
var subClass: SubClass!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.subClass = SubClass(viewController: self)
}
class SubClass {
private let viewController: ViewController
init(viewController: ViewController) {
self.viewController = viewController
}
func multiply(num1: Int, num2: Int) -> Int {
return num1 * num2
}
}
}
テストコード
swift_UnitTestTests.swift
import XCTest
@testable import swift_UnitTest
class swift_UnitTestTests: XCTestCase {
var viewController: ViewController!
override func setUp() {
// Put setup code here. This method is called before the invocation of each test method in the class.
super.setUp()
let storyboard = UIStoryboard(name: "Main", bundle: nil)
self.viewController = storyboard.instantiateInitialViewController() as? ViewController
}
override func tearDown() {
// Put teardown code here. This method is called after the invocation of each test method in the class.
super.tearDown()
}
func testExample() {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct results.
viewController.loadViewIfNeeded()
let subClass = viewController.subClass
let result = subClass?.multiply(num1: 7, num2: 28)
XCTAssertEqual(result, 196)
}
func testPerformanceExample() {
// This is an example of a performance test case.
self.measure {
// Put the code you want to measure the time of here.
}
}
}
テスト結果
관련 기사
실행 환경
환경
Ver.
macOS Mojave
10.14.6
Xcode
10.3
소스 코드
실제로 구현 내용이나 소스 코드를 쫓으면서 읽으면 더 이해가 깊어질까 생각합니다. 부디 활용해 주세요.
GitHub
테스트 시나리오
곱셈 메서드 구현
ViewController.swift
import UIKit
class ViewController: UIViewController {
var subClass: SubClass!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.subClass = SubClass(viewController: self)
}
class SubClass {
private let viewController: ViewController
init(viewController: ViewController) {
self.viewController = viewController
}
func multiply(num1: Int, num2: Int) -> Int {
return num1 * num2
}
}
}
테스트 환경 준비
파일 구성은 다음과 같습니다.
Unit Tests를 미리 준비하는 경우
프로젝트를 생성할 때 Include Unit Tests를 체크하여 생성
Unit Tests를 나중에 준비하는 경우
File > New > Target...을 클릭합니다.
Test 섹션에서 iOS Unit Testing Bundle을 선택하고 Next를 클릭하십시오.
정보를 입력하고 Finish를 클릭합니다.
테스트 케이스 만들기
swift_UnitTestTests.swift
import XCTest
@testable import swift_UnitTest
class swift_UnitTestTests: XCTestCase {
var viewController: ViewController!
override func setUp() {
// Put setup code here. This method is called before the invocation of each test method in the class.
super.setUp()
let storyboard = UIStoryboard(name: "Main", bundle: nil)
self.viewController = storyboard.instantiateInitialViewController() as? ViewController
}
override func tearDown() {
// Put teardown code here. This method is called after the invocation of each test method in the class.
super.tearDown()
}
func testExample() {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct results.
viewController.loadViewIfNeeded()
let subClass = viewController.subClass
let result = subClass?.multiply(num1: 7, num2: 28)
XCTAssertEqual(result, 196)
}
func testPerformanceExample() {
// This is an example of a performance test case.
self.measure {
// Put the code you want to measure the time of here.
}
}
}
테스트 실시
단독으로 테스트를 실시하는 경우
행 번호의 재생 버튼을 클릭합니다.
전체적으로 테스트를 실시하는 경우
Product > Test를 클릭하십시오
조심하는 포인트
CocoaPods로 패키지를 설치하는 경우 테스트 환경에서 패키지를 로드할 수 없어 오류가 발생합니다.
Podfile의 Target에 테스트 환경 추가 및 업데이트
예) 패키지(Kanna)를 설치한 경우
Podfile.rb
# Uncomment the next line to define a global platform for your project
platform :ios, '12.0'
target 'swift_UnitTest' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for swift_UnitTest
pod 'Kanna', '4.0.3'
end
target 'swift_UnitTestTests' do
inherit! :search_paths
# Pods for testing
pod 'Kanna', '4.0.3'
end
Command.sh
pod update
Reference
이 문제에 관하여(Swift 용 단위 테스트 (Unit Test)를 만드는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nsuhara/items/bc06c07ff30a5b78696d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)