I wouldn't call this a BDD framework yet. It's speckled with both standard assertions and semantic assertions, and an "It" function that simply takes a block and a string. I can replicate this with using underscores in my test function names and avoid the complexity. Not trying to be a jerk, but what we should be driving for is something closer to: func Describe("The system I want to Test"){ When("I click the red but…
Sleipnir: BDD-style framework for Swift
11–16 of 16 posts
Re: Sleipnir: BDD-style framework for Swift
#12I wouldn't call this a BDD framework yet. It's speckled with both standard assertions and semantic assertions, and an "It" function that simply takes a block and a string. I can replicate this with using underscores in my test function names and avoid the complexity. Not trying to be a jerk, but what we should be driving for is something closer to: func Describe("The system I want to Test"){ When("I click the red but…
it depends on what you consider "BDD". The linked library is nearly identical to Cedar ( https://github.com/pivotal/cedar ), which is, in turn, nearly identical to rspec ( http://rspec.info/ ). Both of these libraries are very much considered BDD. You seem to be advocating something closer to cucumber/gherkin?
Re: Sleipnir: BDD-style framework for Swift
#13I just want to say: Awesome logo.
Agreed. Did you do the logo yourself?
Re: Sleipnir: BDD-style framework for Swift
#14Earlier quoted context omitted.
Oh, boy. As usual anyone trying to define the difference between BDD and TDD gets it wrong. The difference between TDD and BDD isn't the tone in which you describe your test examples. The difference lies in the depth of the layer you start developing a system (or subsystem) at. Some refer to this as Outside-In versus Inside-Out. BDD and TDD have nothing to do with DSLs or the tone in which you describe your test exam…
BDD's difference in comparison to TDD absolutely has to do with tone - more likely philosophy of how one programs. It's about whether you're more comfortable verifying behavior or state. Mockist testing and BDD is the former , Classic TDD is the latter. 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 m…
http://c2.com/cgi/wiki?BehaviourDrivenDevelopment
Again, nothing to do with silly syntax. It's about acceptance testing.
Re: Sleipnir: BDD-style framework for Swift
#15Earlier quoted context omitted.
BDD's difference in comparison to TDD absolutely has to do with tone - more likely philosophy of how one programs. It's about whether you're more comfortable verifying behavior or state. Mockist testing and BDD is the former , Classic TDD is the latter. 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 m…
It seems you're misinformed as well. 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.
Re: Sleipnir: BDD-style framework for Swift
#16Earlier quoted context omitted.
It seems you're misinformed as well. http://c2.com/cgi/wiki?BehaviourDrivenDevelopment Again, nothing to do with silly syntax. It's about acceptance testing.
It seems you're not reading what I (or anyone else) wrote. 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…
So by your logic, a language that doesn't have good ability to create DSLs can't do BDD?