Re: [Pharo-dev] TDD and BDD

2015-04-24 Thread stepharo
Le 24/4/15 12:26, Christophe Demarey a écrit : Le 22 avr. 2015 à 20:19, stepharo a écrit : Christophe I do not have the answer just the constraints. This is hyper important that the solution does not change much SUnit. This way we do not end up with a mess with Sunit version. It is better t

Re: [Pharo-dev] TDD and BDD

2015-04-24 Thread Christophe Demarey
Le 22 avr. 2015 à 20:19, stepharo a écrit : > Christophe > > I do not have the answer just the constraints. > This is hyper important that the solution does not change much SUnit. > This way we do not end up with a mess with Sunit version. > > It is better to have a separate package. I ckecked

Re: [Pharo-dev] TDD and BDD

2015-04-22 Thread stepharo
Christophe I do not have the answer just the constraints. This is hyper important that the solution does not change much SUnit. This way we do not end up with a mess with Sunit version. It is better to have a separate package. Stef Le 20/4/15 13:02, Christophe Demarey a écrit : Hi, With BDD

Re: [Pharo-dev] TDD and BDD

2015-04-22 Thread Sean P. DeNigris
Miguel Moquillon wrote >> In summary, the intent of BDD is to be "TDD Done Right". > I don't agreed with your assumption: there is a difference > philosophically both in theory and in practice. In actuality, it is a bit overstated, because one key insight of BDD was to bring /all/ stakeholders in

Re: [Pharo-dev] TDD and BDD

2015-04-22 Thread Miguel Moquillon
Le 21/04/2015 13:44, Sean P. DeNigris a écrit : Miguel Moquillon wrote BDD and TDD stands for different purposes with different actors... While that's unfortunately often true in practice, there is no difference philosophically. [T|B]DD "done right" always focuses on the user. [...] The "In ord

Re: [Pharo-dev] TDD and BDD

2015-04-21 Thread Christophe Demarey
Le 21 avr. 2015 à 13:44, Sean P. DeNigris a écrit : > Miguel Moquillon wrote >> BDD and TDD stands for different purposes with different actors... > > While that's unfortunately often true in practice, there is no difference > philosophically. [T|B]DD "done right" always focuses on the user. But

Re: [Pharo-dev] TDD and BDD

2015-04-21 Thread Sean P. DeNigris
Miguel Moquillon wrote > BDD and TDD stands for different purposes with different actors... While that's unfortunately often true in practice, there is no difference philosophically. [T|B]DD "done right" always focuses on the user. But because of the word "test" in TDD, many tests (including many

Re: [Pharo-dev] TDD and BDD

2015-04-21 Thread Christophe Demarey
Le 21 avr. 2015 à 11:38, Esteban Lorenzano a écrit : > >> On 21 Apr 2015, at 10:22, Christophe Demarey >> wrote: >> >> >> Le 20 avr. 2015 à 18:23, Sean P. DeNigris a écrit : >> >>> Sean P. DeNigris wrote refactor so that all those places use one implementation somewhere. >>> >>> In fa

Re: [Pharo-dev] TDD and BDD

2015-04-21 Thread Christophe Demarey
Le 21 avr. 2015 à 10:44, Sven Van Caekenberghe a écrit : > >> On 21 Apr 2015, at 10:36, Christophe Demarey >> wrote: >> >> To come back to my proposition, it is just a first step to BDD to not >> prevent people to define tests with something like >> shouldAccountBalanceBePositiveAfterEachOp

Re: [Pharo-dev] TDD and BDD

2015-04-21 Thread Esteban Lorenzano
> On 21 Apr 2015, at 10:22, Christophe Demarey > wrote: > > > Le 20 avr. 2015 à 18:23, Sean P. DeNigris a écrit : > >> Sean P. DeNigris wrote >>> refactor so that all those places use one implementation somewhere. >> >> In fact, searching the sources for "beginsWith: 'test'", the logic is >>

Re: [Pharo-dev] TDD and BDD

2015-04-21 Thread Stephan Eggermont
On 21/04/15 10:14, Miguel Moquillon wrote: In BDD each functionalities are describes as : As a I want So that And the functionality is described in different scenarios (nominal and error ones) : Given When Then This can be mapped rather easily on a subclass of TestCase, even the variant

Re: [Pharo-dev] TDD and BDD

2015-04-21 Thread Sven Van Caekenberghe
> On 21 Apr 2015, at 10:36, Christophe Demarey > wrote: > > To come back to my proposition, it is just a first step to BDD to not prevent > people to define tests with something like > shouldAccountBalanceBePositiveAfterEachOperation (more behavior driven) > rather than testMyWonderfulMethod

Re: [Pharo-dev] TDD and BDD

2015-04-21 Thread Christophe Demarey
Hi, Le 21 avr. 2015 à 10:14, Miguel Moquillon a écrit : > Hi, > > BDD and TDD stands for different purposes with different actors. > In BDD, stakeholders work on the functionalities of software units (coarse > grain, black-box approach) whereas on TDD developers work on the object's > features

Re: [Pharo-dev] TDD and BDD

2015-04-21 Thread Christophe Demarey
Le 20 avr. 2015 à 18:23, Sean P. DeNigris a écrit : > Sean P. DeNigris wrote >> refactor so that all those places use one implementation somewhere. > > In fact, searching the sources for "beginsWith: 'test'", the logic is > duplicated quite a bit. And someone even snuck your proposed change into

Re: [Pharo-dev] TDD and BDD

2015-04-21 Thread Miguel Moquillon
Hi, BDD and TDD stands for different purposes with different actors. In BDD, stakeholders work on the functionalities of software units (coarse grain, black-box approach) whereas on TDD developers work on the object's features (fine-grain, white-box approach) that made the functionalities. So,

Re: [Pharo-dev] TDD and BDD

2015-04-20 Thread stepharo
refactor so that all those places use one implementation somewhere. In fact, searching the sources for "beginsWith: 'test'", the logic is duplicated quite a bit. So we should refactor it. And someone even snuck your proposed change into CompiledMethod>>#isTestMethod, so now we already have t

Re: [Pharo-dev] TDD and BDD

2015-04-20 Thread Sean P. DeNigris
demarey wrote > as it is something that is not specific to a project, I would prefer to > have it in the system. I agree that would be nice. I much prefer #shouldXyz. At the same time I don't mind so much having to override #testSelectors, and if we make this change, we must be ready for people to

Re: [Pharo-dev] TDD and BDD

2015-04-20 Thread Sean P. DeNigris
Sean P. DeNigris wrote > refactor so that all those places use one implementation somewhere. In fact, searching the sources for "beginsWith: 'test'", the logic is duplicated quite a bit. And someone even snuck your proposed change into CompiledMethod>>#isTestMethod, so now we already have two conf

Re: [Pharo-dev] TDD and BDD

2015-04-20 Thread Christophe Demarey
Yes, I could but as it is something that is not specific to a project, I would prefer to have it in the system. Le 20 avr. 2015 à 12:47, Sven Van Caekenberghe a écrit : > You could override TestCase class>>#testSelectors in your own subclass, no ? > >> On 20 Apr 2015, at 12:02, Christophe Demar

Re: [Pharo-dev] TDD and BDD

2015-04-20 Thread Sven Van Caekenberghe
You could override TestCase class>>#testSelectors in your own subclass, no ? > On 20 Apr 2015, at 12:02, Christophe Demarey > wrote: > > Hi, > > With BDD a current test practice is to start method names with 'should'. > It is not yet possible in Pharo but easily do-able (update of TestCase and

[Pharo-dev] TDD and BDD

2015-04-20 Thread Christophe Demarey
Hi, With BDD a current test practice is to start method names with 'should'. It is not yet possible in Pharo but easily do-able (update of TestCase and some Nautilus methods). I would like that Pharo detects tes methods all methods of a class subclassing (directly or not) TestCase AND starting w