.. _unit-testing: Unit testing ============ Unit testing of code that uses the Javabridge requires special care because the JVM can only be run once: after you kill it, it cannot be restarted. Therefore, the JVM cannot be started and stopped in the regular ``setUp()`` and ``tearDown()`` methods. We provide a plugin to `Nose `_ that takes care of starting and stopping the JVM. The plugin's name is ``javabridge.noseplugin``. Installing the Javabridge adds the plugin to Nose. To use the plugin for your own project, in the ``[nosetests]`` section to your ``setup.cfg``, add ``with-javabridge = True``. You can also specify a classpath; the jar files required for javabridge to function (:py:data:`javabridge.JARS`) will be added to this path:: [nosetests] with-javabridge = True classpath = my-project/jars/foo.jar You should then be able to run the ``nosetests`` command:: nosetests On some installations, setuptools's nosetests command will also work:: python setup.py nosetests If you prefer, these options can also be given on the command line:: nosetests --with-javabridge=True --classpath=my-project/jars/foo.jar or:: python setup.py nosetests --with-javabridge=True --classpath=my-project/jars/foo.jar