测试测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | BSD |
发布最后发布 | 2015年12月 |
SPM支持 SPM | ✗ |
由 Kyle Fuller 维护。
依赖 | |
PathKit | ~> 0.5.0 |
Commander | ~> 0.2.2 |
Ploughman 是 Cucumber 的 Swift 实现,Gherkin 语言的一个测试运行器。
Cucumber 是一个用于运行以普通语言编写的自动化测试的工具。因为它们是用普通语言编写的,所以可以被您的团队合作中的任何人阅读。因为任何人都可以阅读它们,所以您可以使用它们来帮助改善团队中的沟通、协作和信任。
您可以在 Gherkin 中编写测试,以下是一个示例
Feature: An array
Scenario: Appending to an array
Given I have an empty array
When I add 1 to the array
Then I should have 1 item in the array
Scenario: Filtering an array
Given I have an array with the numbers 1 through 5
When I filter the array for even numbers
Then I should have 2 items in the array
然后您可以在 Swift 中编写这些规则的实现
var array: [Int] = []
given("^I have an empty array$") { match in
array = []
}
given("^I have an array with the numbers (\\d) through (\\d)$") { match in
let start = match.groups[1]
let end = match.groups[2]
array = Array(Int(start)! ..< Int(end)!)
}
when("^I add (\\d) to the array$") { match in
let number = Int(match.groups[1])!
array.append(number)
}
when("^I filter the array for even numbers$") { match in
array = array.filter { $0 % 2 == 0 }
}
then("^I should have (\\d) items? in the array$") { match in
let count = Int(match.groups[1])!
try expect(array.count) == count
}
然后您可以按照以下方式运行您的规则以对功能文件进行测试
要自己运行示例,您首先需要 Conche 下载依赖项。
$ conche test
$ ./example.swift example.feature
-> An array
-> Appending to an array
-> Filtering an array
2 scenarios passed, 0 scenarios failed.
要使用 Ploughman,您需要构建一个命令行工具,该工具添加实现所需的规则,然后调用 ploughman.run()
以启动运行器。
您需要将 Ploughman 依赖项提供给您的命令行工具。
import Ploughman
var array: [Int] = []
given("^I have an empty array$") { match in
array = []
}
when("^I add (\\d) to the array$") { match in
let number = Int(match.groups[1])!
array.append(number)
}
then("^I should have (\\d) items? in the array$") { match in
let count = Int(match.groups[1])!
if array.count != count {
throw /* some error indicating the failure */
}
}
ploughman.run()
在任何步骤中,您都可以引发错误以指示失败。