On 10/18/2010 08:17 AM, Anthony Urso wrote:
Anyone have any pointers on how to test against ZK outside of the
source distribution? All the fun classes (e.g. ClientBase) do not make
it into the ZK release jar.

Right now I am manually running a ZK node for the unit tests to
connect to prior to running my test, but I would rather have something
that ant could reliably
automate starting and stopping for CI.


The way I learned about unit testing is that a unit test should be "isolated", that is: not need to depend on any external resource - most notably network resources, such as a database, a web server, or ZooKeeper. (It's still OK to have a test that tests again a network resource, but that's really an integration test, not a unit test.)

Consequently, the way I write my code for ZooKeeper is against a more generic interface that provides operations for open, close, getData, and setData. When unit testing, I substitute in a "dummy" implementation that just stores data in memory (i.e., a HashMap); when running live code I use an implementation that talks to ZooKeeper.



Reply via email to