Swiftest - Swift 的 BDD 测试框架
未知
OS X
Swift
软件简介
Swiftest 是 Swift 编程语言一个 BDD 风格的规范框架。
示例代码:
import Swiftest
// create a class that inherits from SwiftestSuite (it's just NSObject)
// and define the 'spec' member property of that class using `describe`
// be sure to use `let` and not `var` here!
class SampleSpec : SwiftestSuite {
let spec = describe("Swiftest") {
it("adds 1 + 1!") {
expect(1 + 1).toEqual(2)
}
it("knows true from false!") {
expect(true).toBeTrue()
expect(true).not().toBeFalse()
}
example("comparing letters of the alphabet!") {
expect("abc").toEqual("abc")
}
it("knows what stuff is NOT other stuff!") {
expect(2 + 2).not().toEqual(5)
}
describe("arrays!") {
example("special assertions for array types!") {
expect([1, 2, 3]).toEqual([1, 2, 3])
expect([1, 2, 3]).toContain(1)
expect([1, 2, 3]).toContain(1, 3)
}
}
it("does nifty stuff with closures") {
var a = 0
expect({ a += 1 }).toChange({ a }).to(1)
expect({ a += 1 }).toChange({ a }).from(1).to(2)
expect({ a += 2 }).toChange({ a }).by(2)
}
example("dictionaries have special assertions too!") {
expect([ "key" : "val" ]).toEqual([ "key" : "val"])
expect([ "key" : "val" ]).toHaveKey("key")
expect([ "key" : "val" ]).toHaveValue("val")
}
example("your own classes!") {
// Person is a class that implements Comparable
let person1 = Person(name: "Bob")
let person2 = Person(name: "Alice")
expect(person1).not().toEqual(person2)
}
}
}