http://www.perlmonks.org?node_id=287892


in reply to Re: The Evil Pleasures of Unit Tests
in thread The Evil Pleasures of Unit Tests

You did say teammates right?
Right. And I don't expect to have to do this for more than another week.

If you're on a project where people are checking in stuff that doesn't work, or only, uh, partially works, there are a couple of ways to handle it. You could quietly fix stuff yourself, but then they won't learn (and they'd probably get pissed at you for reaching into their code). Or you can mark up a listing and hand it to them. Or you can say, without pointing out any specific fault, "I don't care how you implement this, but we've agreed on the interface, and I'm going to hold you to that agreement." A unit test does the latter, and shifts the pain, if any, where it belongs. And if others on the team need to do this to me, then I deserve it.

Standing up for your agreements early in a project can save you a lot of work later on.

  • Comment on Re: Re: The Evil Pleasures of Unit Tests

Replies are listed 'Best First'.
Re: Re: Re: The Evil Pleasures of Unit Tests
by tachyon (Chancellor) on Aug 30, 2003 at 12:27 UTC

    I appreciate the value of unit tests too, and not just as an implement of torture for the un-righteous {maniacal laugh} <:-) Actually I posted one of our widgets Autogenerate Test Scripts a while back. This makes it hard(er) to find excuses as to why the test suite is not complete.....but still I hear all sorts of great excuses reasons justifications misc BS. Actually thinking about that I should probably post a couple of others (check.pl which looks to see if the test suites are complete and run which does the obvious).

    It never ceases to amaze me how a seemingly trivial change in the behaviour of a given function can cause so many unexpected side effects. Good tests save much pain and embarassment.

    cheers

    tachyon

    s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print

Re: Re: Re: The Evil Pleasures of Unit Tests
by pdcawley (Hermit) on Aug 31, 2003 at 06:21 UTC
    Why not find the 'guilty' party, pair with 'em, write the new failing test and then work with them to write the fix? That way you let them know you know that there's a problem, but you're also taking the pressure off them by solving the problem together.
      Why not find the 'guilty' party, pair with 'em, write the new failing test and then work with them to write the fix?

      That'd be the right thing to do if the team was collocated. Unfortunately, this is a distributed project.

        Did he say, "pull up a chair"? Electronic mail, instant messages, phone calls...

        You were gloating about it being an "evil pleasure" to play contract-lawyer and sue through the courts of team opinion, rather than settle your code disputes quietly with the affected party. It seems most of the replies indicate resistance to your interpersonal approach here. I wonder why?

        --
        [ e d @ h a l l e y . c c ]

        Oh hard luck. Please tell me at least some of the team is colocated.