iOS-Gherkin
iOS-Gherkin是一个库,它包装了Quick (https://github.com/Quick/Quick)
配合Quick
class AdderSpec: QuickSpec {
override func spec() {
describe("Adder") {
var adder: Adder!
beforeEach {
adder = WeirdAdder()
}
context("max value is 20") {
beforeEach {
adder.maxValue = 20
}
context("add 10") {
beforeEach {
adder.add(10)
}
context("add 6") {
beforeEach {
adder.add(6)
}
context("add 2") {
beforeEach {
adder.add(2)
}
context("add 1") {
beforeEach {
adder.add(2)
}
context("add 3") {
beforeEach {
adder.add(3)
}
it("result is 20") {
expect(adder.result).to(equal(20))
}
}
}
}
}
}
}
}
}
} // so many }}}}}}}
配合Gherkin
class AdderSpec: GherkinSpec {
override func spec() {
Feature("add") {
var adder: Adder!
Background {
adder = Adder()
}
Scenario("add over max value") {
Given("max value is 20") {
adder.maxValue = 20
}
When("add 10") {
adder.add(10)
}
When("add 6") {
adder.add(6)
}
When("add 2") {
adder.add(2)
}
When("add 1") {
adder.add(1)
}
When("add 3") {
adder.add(3)
}
Then("result is 20") {
expect(adder.result).to(equal(20))
}
}
}
}
}
优点
- 少用'}'。
- 使用更具体的上下文关键词(Given,When,Then)。
- 无需使用
beforeEach
。
关键词来自Cucumber(https://cucumber.fullstack.org.cn/docs/gherkin/)。
安装
Cocoapods
pod 'Gherkin'
请给我们反馈,以改进iOS-Gherkin。谢谢!