UnitTest

XCTest
2017/01/19 iOS Test Night #2



•
• 📦
• Twitter, GitHub(@ktanaka117)
• →
ScrollingFollowView
•
•
•
•
•
•
•
📦

Mr.
💦
•
•
• XCTest
• 

•
•










🔰
• 

•


=
🤔

👇
• : 

(= ) 

e.g.)
• :



e.g.) RFC5322
• : 

• :



• : 

• :







•
• 

• 

20 

5 16 20 

• 

• 

( ) true 

false
• 

Swift 3.0.2

Xcode 8.2.1
import Foundation
protocol Validatable {
associatedtype Validatee
func validate(_ validatee: Validatee) -> Bool
}
import Foundation
struct NameValidator: Validatable {
typealias Validatee = String
func validate(_ validatee: String) -> Bool {
let regEx = "[A-Z]+[a-z]{1,}+s+[A-Z]+[a-z]{1,}"
let predicate = NSPredicate(format: "SELF MATCHES %@", regEx)
return predicate.evaluate(with: validatee)
}
}
import XCTest
@testable import EquivalanceTest
class NameValidatorTest: XCTestCase {
let nameValidator = NameValidator()
func testTanaka_Kenji () {
let name = "Tanaka Kenji"
XCTAssertTrue(nameValidator.validate(name))
}
func test () {
let name = "Tanaka @@@"
XCTAssertTrue(nameValidator.validate(name))
}
func test () {
let name = "Tanaka 123"
XCTAssertTrue(nameValidator.validate(name))
}
}
import XCTest
@testable import EquivalanceTest
class NameValidatorTest: XCTestCase {
let nameValidator = NameValidator()
func testTanaka_Kenji () {
let name = "Tanaka Kenji"
XCTAssertTrue(nameValidator.validate(name))
}
func test () {
let name = "Tanaka @@@"
XCTAssertTrue(nameValidator.validate(name))
}
func test () {
let name = "Tanaka 123"
XCTAssertTrue(nameValidator.validate(name))
}
}
@ 123
XCTest
Web
🤔
🤔
• 

• : 

:
• : 

:
• : 



• 

• 👆
GitHub: ktanaka117
Twitter: @ktanaka117
Developers.IO:

はじめてのUnitTest XCTestに触れて