On Sun, Feb 22, 2009 at 8:47 PM, Yi Wen <hayafi...@gmail.com> wrote: > The rhythm for wrking with cucumber advertised by http://cukes.info/ is to > write tests that fails first, then code that fixes it. Now my question is, > what is the implication when combine this with Continuous Integration? >
* Nobody checks in code with failing tests (cucumber features, rspec tests, anything else). * If someone accidentally does, CI will run all tests and tell the team. > We all know when we do TDD/BDD in unit level, one test can be fixed fairly > quick in a coupe minutes and we can check in and kick off a build. It is a > ideal scene for doing CI: frequent checkin and fast feedback on build > results. > > Cucumber, as far as my understanding goes, works on feature level. It could > take people days to finish a cucumber feature. In the meantime, the cucumber > test remains broken. What do we do then? We cannot check in any code because A feature typically consists of several scenarios. You don't have to implement all scenarios before you commit. You don't have to write all scenarios when you start working on a feature. I recommend you never have more than one yellow scenario at a time. The same goes for scenarios, which consist of several steps. I recommend you commit every time you have made a step go from yellow to green (via red). This way, many successive commits will gradually build the whole feature. In my experience, getting a step to go from yellow to green rarely takes more than an hour (usually less). Is there anything preventing you from working this way? Aslak > that'll break the build. So we can only checkin code after several days? It > doesn't sound right to me. Any takes on this issue? Thanks in advance. > > Yi > > > > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > -- Aslak (::) _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users