It's mentioned in the documentation (http://nose.readthedocs.org/en/latest/api/core.html) but there don't seem to be any examples, and trying it seems to run all tests in the cwd.
Use nose.run() or nose.main() to run tests in a specific module
Try this:
test_module.py:
import logging
import sys
import nose
logging.basicConfig(level=logging.INFO)
#here are some tests in this module
def test_me():
pass
if __name__ == '__main__':
#This code will run the test in this file.'
module_name = sys.modules[__name__].__file__
logging.debug("running nose for package: %s", module_name)
result = nose.run(argv=[sys.argv[0],
module_name,
'-v'])
logging.info("all tests ok: %s", result)
python test_module.py
will get you:
test_module.test_me ... ok
----------------------------------------------------------------------
Ran 1 test in 0.001s
OK
INFO:root:all tests ok: True
Here's a minimal version of a main for nose:
if __name__ == '__main__':
import nose
nose.run(defaultTest=__name__)
And a version for nose2:
if __name__ == '__main__':
import nose2
nose2.main()
nose has runmodule
function. So following works.
if __name__ == '__main__':
import nose
nose.runmodule()
© 2022 - 2024 — McMap. All rights reserved.