Loading ...
Sorry, an error occurred while loading the content.

Re: [XP] TDD - Test Passes before code was wrote...

Expand Messages
  • geoffrey_slinker
    ... implemented ... without ... is when I ... parameterized tests ... implemented the ... sooner. Ok. That is the key that I was looking for. Thanks. Geoff
    Message 1 of 31 , Nov 1, 2005
    • 0 Attachment
      --- In extremeprogramming@yahoogroups.com, "Kent Beck" <kentb@e...>
      wrote:
      >
      > Geoff,
      >
      > If there is any chance of a test passing, I'll run it. If I just
      implemented
      > the stubs and I know the test won't pass, I'll implement the code
      without
      > running the test first.
      >
      > One case where running a test immediately after writing is useful
      is when I
      > think, "...but what about this?" I did this recently on JUnit 4 when
      > programming with David Saff. I said, "...but what about
      parameterized tests
      > with multiple test methods?" He said, "I think the way we
      implemented the
      > code it should just work." We wrote a test and ran it.
      >
      > The general principle at work here for me is getting more feedback
      sooner.

      Ok. That is the key that I was looking for. Thanks.

      Geoff
    • J. B. Rainsberger
      ... Yes. My underlying assumption was that, when running the test, I didn t expect it to pass. Sometimes I write tests that I expect to pass -- or at least
      Message 31 of 31 , Nov 7, 2005
      • 0 Attachment
        Chris Wheeler wrote:

        >>I've had this happen a number of times. When it does happen, either:
        >>
        >>1. My test is wrong, or
        >>2. I had written speculative production code, or
        >>3. I'm having a very bad day
        >
        > You frame this happenstance in a negative light. I've experienced cases
        > where I was asked to see if the system did something, and because the design
        > was simple and effective and correct, it passed the test immediately.
        >
        > It's a great feeling, it doesn't happen often, but it does. One should
        > expect that their systems and designs behave like this once in while because
        > good designs are about discovery, and sometimes we discover that our design
        > actually does a little extra - including working under a condition that we
        > didn't expect it to work under.

        Yes. My underlying assumption was that, when running the test, I didn't
        expect it to pass. Sometimes I write tests that I expect to pass -- or
        at least have reason to believe might pass -- for exactly the reason you
        cite.

        In general, though, I expect the new test to fail. When it doesn't, I
        start out suspicious, then try to rule out the negative cases I cited
        above. If none of those explanations work, then I must simply have
        (happily) accidentally got it right. I'm just not ready to let that be
        my default reaction.

        --
        J. B. (Joe) Rainsberger
        Diaspar Software Services
        http://www.diasparsoftware.com
        2005 Gordon Pask Award Winner for contribution to Agile practice
        Author, JUnit Recipes: Practical Methods for Programmer Testing
      Your message has been successfully submitted and would be delivered to recipients shortly.