34
UnitTest XCTest 2017/01/19 iOS Test Night #2

はじめてのUnitTest XCTestに触れて

Embed Size (px)

Citation preview

Page 1: はじめてのUnitTest XCTestに触れて

UnitTest

XCTest

2017/01/19 iOS Test Night #2

Page 2: はじめてのUnitTest XCTestに触れて

• 📦

• Twitter, GitHub(@ktanaka117)

• →

ScrollingFollowView

Page 3: はじめてのUnitTest XCTestに触れて

Page 4: はじめてのUnitTest XCTestに触れて
Page 5: はじめてのUnitTest XCTestに触れて
Page 6: はじめてのUnitTest XCTestに触れて
Page 7: はじめてのUnitTest XCTestに触れて
Page 8: はじめてのUnitTest XCTestに触れて
Page 9: はじめてのUnitTest XCTestに触れて
Page 10: はじめてのUnitTest XCTestに触れて
Page 11: はじめてのUnitTest XCTestに触れて
Page 12: はじめてのUnitTest XCTestに触れて

📦Mr.

Page 13: はじめてのUnitTest XCTestに触れて

💦

Page 14: はじめてのUnitTest XCTestに触れて

• XCTest

Page 15: はじめてのUnitTest XCTestに触れて

🔰

Page 16: はじめてのUnitTest XCTestに触れて

=

🤔

👇

Page 17: はじめてのUnitTest XCTestに触れて

• :

(= )

e.g.)

• :

e.g.) RFC5322

Page 18: はじめてのUnitTest XCTestに触れて

• :

• :

Page 19: はじめてのUnitTest XCTestに触れて

• :

• :

Page 20: はじめてのUnitTest XCTestに触れて

20

5 16 20

Page 21: はじめてのUnitTest XCTestに触れて

( ) true

false

• Swift 3.0.2

Xcode 8.2.1

Page 22: はじめてのUnitTest XCTestに触れて

import Foundation

protocol Validatable { associatedtype Validatee func validate(_ validatee: Validatee) -> Bool }

Page 23: はじめてのUnitTest XCTestに触れて

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) } }

Page 24: はじめてのUnitTest XCTestに触れて

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)) } }

Page 25: はじめてのUnitTest XCTestに触れて

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

Page 26: はじめてのUnitTest XCTestに触れて

XCTest

Web

Page 27: はじめてのUnitTest XCTestに触れて
Page 28: はじめてのUnitTest XCTestに触れて

🤔

Page 29: はじめてのUnitTest XCTestに触れて

🤔

Page 30: はじめてのUnitTest XCTestに触れて
Page 31: はじめてのUnitTest XCTestに触れて

• :

:

• :

:

• :

Page 32: はじめてのUnitTest XCTestに触れて

• 👆

Page 33: はじめてのUnitTest XCTestに触れて
Page 34: はじめてのUnitTest XCTestに触れて

GitHub: ktanaka117 Twitter: @ktanaka117

Developers.IO: