Sleipnir: BDD-style framework for Swift
github.com
github.com
As an example, I practice BDD but I use MiniTest, a "TDD" testing library.
TDD doesn't care how you write the test since it's about verifying states. Kent mostly used it for inside-out testing and never uses mocks, but sometimes plays with middle-out or outside-in interactions using programmer tests, fake objects, and stubs.
Only BDD was about specifying the test as a behavioural description in a DSL, and is always outside-in. It's pretty clear cut.
http://c2.com/cgi/wiki?BehaviourDrivenDevelopment
Again, nothing to do with silly syntax. It's about acceptance testing.
I never mentioned syntax. I mentioned a DSL. Using a DSL is about much more than syntax, it is about expressing verifiable behavior tests in a ubiquitous language. I said nothing about any specific syntax of external or internal DSL, heck people contort FitNesse to fit BDD for whatever reason.
I have been on Ward's wiki since 1998, this isn't exactly new. It's also not for everyone.
So by your logic, a language that doesn't have good ability to create DSLs can't do BDD?
func Describe("The system I want to Test"){
When("I click the red button")
Then("I should see the light turn on")
And("I should see 4 lights")
}
func Step("I click the red button"){
buttons["red"].click
}
func Step("I should see the light turn on"){
lights.on.should().be_true
}
func Step("I should see (\d+) lights"){
lights.count.should().be(4)
}Should be "BDD-style framework for swift http://railsware.com/blog/2014/07/04/bdd-style-testing-in-sw...