Upload
kenji-tanaka
View
1.498
Download
0
Embed Size (px)
Citation preview
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: