But you are setting up an expectation, right? my_method.must.do_the_right_thing. it didn't? but it must! my_method.should.do_the_right_thing. it didn't, but it should! For me the second example feels more natural in a environment where you expect tests to fail at first, maybe this is different in BDD than in TDD, I don't know enough about BDD. Especially when you use tests to design interfaces the "should" thinking comes more natural: You don't have a feature yet but you write down what it should do, then you implement it. On 18.11.2008, at 13:30 , Charles Oliver Nutter wrote: > Trans wrote: >> Why did 'should' become the going nomenclature of BDD framworks? >> 'Should' connotes 'ought', as if something ought to do xyz, but >> doesn't necessarily have to. I don't know about you, but I don't >> write >> my tests/specs that way! >> 'Must' is the word that denotes what our tests/specs do. > > I agree. I've suggested the classic requirement-docs' "shall" in the > past too, but "must" has an immediacy more appropriate to BDD. > > - Charlie > einarmagnus