Slashdot Mirror


Why We Refactored JUnit

Bill Venners writes "In this article, three programmers tell the story of how their frustration with JUnit's API led to the creation of Artima SuiteRunner, a free, open source test toolkit and JUnit runner. These programmers simply wanted to create a small add-on tool to JUnit, but found JUnit's design non-intuitive and API documention poor. After spending time reading through JUnit's source code and attempting to guess at the API contracts, they gave up and rewrote it."

8 of 192 comments (clear)

  1. I wish... by Anonymous Coward · · Score: 5, Funny

    I could refactor my unit.

    1. Re:I wish... by Forgotten · · Score: 5, Funny

      You could, if you'd just read your spam before deleting it.

    2. Re:I wish... by Flamerule · · Score: 2, Funny
      Hmmm.... You could refactor prime numbers, instead....

      Not as sexy, but... oh, fuck it. This post sucks ass.

  2. hrm.... by xao+gypsie · · Score: 5, Funny

    why does this sound like something of the beginning of a fantasy story about programming: "in the beginning was Iluvitar, the master of the JU API........then melkor, wishing to expand it...."

    xao

    --


    xao
    http://TheHillforum.hopto.org
  3. But.. by Anonymous Coward · · Score: 0, Funny

    my parents say I'm not old enough to look at core dumps rated NP-17.

  4. Re: Intuitive by Black+Parrot · · Score: 5, Funny


    > Recursion is intuitive but...

    You've obviously never tried to explain recursion to a group of average co-workers.

    --
    Sheesh, evil *and* a jerk. -- Jade
  5. Re:Origins of XP by clyde7 · · Score: 3, Funny

    I agree. XP is like music in the ears of managers who handle projects and developers which already suck (BTW, Kent Beck is a consultant). XP is not meant to be applied by good developers.

    In order to write good (stable, maintainable, extendible, generic, efficient, ...) software efficiently, you want to minimize the overhead (tests, refactoring, redesign, debugging). This can only be achieved by good upfront design skills and applying them as early as possible.

    If the code is well written, there's few need
    for writing tests (except for sophisticated algorithms), almost no need for refactoring (except for really simple ones like moving/renaming), redesign or debugging.

    Unfortunately good OO design is a hard to learn skill and I haven't seen a good book on this yet.

  6. Re:genericity in testing by thempstead · · Score: 5, Funny
    Then you correct the code so the test passes.

    nonono ... you correct the test so the code passes ...