A Cucumber-inspired BDD testing framework intended for use with Swift and Xcode UI Testing. Uses Gherkin feature syntax for associating plain language to reusable step definitions.
- 💻 Integration with Xcode Test Navigator
- 📱 Full support for Xcode UI Testing without additional runtime requirements
- ⏩ Designed for Gherkin features
- 🥒 Parity with the Cucumber API specification
- 🔖 Swift reimplementation of the Cucumber Tag Expression parser
- 📦 Supports Carthage, Swift PM and CocoaPods!
Package manager support coming soon. Please stay tuned for the first tagged release!
Write your feature file:
Feature: Test my great app with BDD
Scenario: Do the first test
Given I am on the Home page
When I tap the Add button
Then nothing
Define your steps:
given("I am on the (.*) page") { context in
let pageName = context.matches[0]
XCTAssertEqual(pageName, "Home")
}
when("I tap the (.*) button") { context in
context.pending()
}
then("nothing") { context in
print("Do nothing")
}
Run your tests!
let brine = Brine()
brine.start()
Coming soon
Hey, thanks for getting this far! If you'd like to contribute to Brine, please check out our CONTRIBUTING page before jumping in.
- Gherkin for Objective-C – using as-is
- Cucumber Tag Expressions for Java – ported from Java to Swift
Apache © Aaron Sky