From: Dossy <do...@pa...> - 2002-06-01 00:54:04
|
On 2002.05.31, Kent Beck <ke...@th...> wrote: > Every time I've wished for shared setup because of performance and I've > looked to refine and further decouple the design instead, I've been glad I > did. Of course, this wouldn't work for you. Do you ever use JUnit to do acceptance testing of "the real thing"? In particular, I'm working with a vendor who's building an interface to their application's data via a TCP server and XML. I began coding a whole suite of Acceptance Tests of their implementation of the server (after writing similar tests for my client, where I mocked out the server with an in-memory spoof). However, in order to test the server, I _have_ to use my client, go out over the network, speak to their server and interpret their response against my canned (expected) responses. I cannot test their code in-memory since I have no access to their code, just their exposed interface. I found JUnit to be a big pain, so I ended up moving everything to Ruby and doing my testing with Test::Unit in Ruby. I'm much happier. Maybe the answer here is two-fold: 1) When testing needs shared setup, make sure it really actually needs it. Try to design your tests so that it doesn't -- even if it means more work today, it really pays off if you can avoid it. However, 2) When testing actually needs shared setup, use a testing tool other than JUnit. It's just not the right tool for the job, so learn to recognize that rather than how you might otherwise hack kludges into JUnit. JUnit does what it does and it does it well. However, it doesn't do very much else without customizations. There's absolutely nothing wrong with this: there are dozens of testing frameworks available -- there has got to be one that's a good fit for your problem. Have multiple tools in your toolbox so that everything does NOT end up looking like a nail ... -- Dossy -- Dossy Shiobara mail: do...@pa... Panoptic Computer Network web: http://www.panoptic.com/ "He realized the fastest way to change is to laugh at your own folly -- then you can let go and quickly move on." (p. 70) |