Quick
Swift와 Obj-c를 위한 BDD 프레임워크.
Nimble
Swift와 Ojb-c를 위한 Matcher 프레임워크.
XCTestCase를 상속받은 QuickSpec을 상속받아 테스트를 구현하게 된다.
describe
테스트 상황 명시
context
테스트 행위 명시
it
테스트의 결과 명시 및 assertion 작성
before/afterSuite
Suite 실행, 종료 시 1회 호출
before/afterEach
선언 위치에 따라 suite, describe, context, it 실행, 종료 시 호출
expect
XCTAssert 계열 함수를 대체하는 Nimble Matcher
이전 예제에서 사용한 테스트 케이스를 Quick, Nimble을 사용해 작성하면 다음과 같다.
override func spec() {
var sut: Calculator!
beforeSuite {
sut = Calculator()
}
afterSuite {
sut = nil
}
describe("계산기 사용 중") {
context("덧셈 기능 실행 시") {
var lValue: Int!
var rValue: Int!
beforeEach {
lValue = 30
rValue = 10
}
afterEach {
lValue = nil
rValue = nil
}
it("두수의 합이 나와야한다.") {
expect(sut.add(lhs: lValue, rhs: rValue)).to(equal(lValue + rValue))
}
}
context("곱셈 기능 실행 시") {
var lValue: Int!
var rValue: Int!
beforeEach {
lValue = 20
rValue = 35
}
afterEach {
lValue = nil
rValue = nil
}
it("두수의 곱이 나와야한다.") {
expect(sut.multiple(lhs: lValue, rhs: rValue)).to(equal(lValue * rValue))
}
}
}
}
테스트 성공 시
테스트 실패 시
보다 자세한 내용은 이곳을 확인해주세요.