Rather than running my nose tests from the command line, I'm using a test runner that sets up a few things for all the tests, including a connection to a local test instance of MongoDB. The documentation for nose only seems to indicate how to pass options through the command line or a configuration file located in your home directory. Is there a way to pass options, such as --with-xunit when using a script to run your tests?
nose collects tests automatically from python source files, directories and packages found in its working directory (which defaults to the current working directory).
nose can be integrated with DocTest by using with-doctest option in athe bove command line. The result will be true if the test run is successful, or false if it fails or raises an uncaught exception. nose supports fixtures (setup and teardown methods) at the package, module, class, and test level.
pytest has basic support for running tests written for nose.
django-nose provides all the goodness of nose in your Django tests, like: Testing just your apps by default, not all the standard ones that happen to be in INSTALLED_APPS. Running the tests in one or more specific modules (or apps, or classes, or folders, or just running a specific test)
Nose does something sneaky with the first argument, so it is not parsed. My nose wrapper does something like this:
import nose
import sys
argv = sys.argv[:]
argv.insert(1, "--with-xunit")
nose.main(argv=argv)
As a bonus, this allows the clients of your program to use Nose arguments to control its behavior!
Like this:
import nose
argv = ['fake', '--with-xunit']
nose.main(argv=argv)
The "fake" argument must be added to stand in for the executable name, as described in dbw's answer.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With