On Thu, Aug 20, 2009 at 7:00 PM, Marcelo de Moraes Serpa<celose...@gmail.com> wrote: > Hello list, > > I'm working in a big project in the company I'm working on as a "BDD > tech lead", this means I'm leading the implementation of BDD in > ongoing projects, most of them did not use BDD from the start. > > I implemented the policy of "Only commit if all your tests are > passing", this in all tests abstraction levels: From Cucumber features > , scenarios, steps and rspec specs. > > The point of this rule is: "Never commit partial code". If it's not > done/fully working (as the feature/specs say it should), don't commit > it. > > However, a co-worker of mine came to me and said that partial commits > are needed to share code. I don't agree with that, I think we can use > patches or branches to do that (like a development branch) but at > least one branch should have only stabe/deliverable code. > > For patches, however, he mentioned that we might have conflicts/code > duplication, where the guy who shares the patches will have problems > later on when pulling from the server (he already had part of the code > that was committed). > > What do you think? I'm looking for some enlightenment! Any > contributions welcome.
My approach, which is not mine originally, nor very unique, is follows: All developer specs (RSpec) should always be passing. Previously passing customer specs should continue passing. Customer specs for features in development are allowed to fail. You can enforce those rules in a CI build in any number of ways. Tagging features in development as @in_development, for example, and not running those as part of the CI build, or running them separately but allowing them to fail without considering the build a failed build. That all make sense? > > Marcelo. > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users