我有一套测试,最近发现它们存在(错误的)顺序关系。它们都应该是独立的。
Nose似乎每次以相同的顺序运行测试,这本身不会发现这些依赖关系,除非“魔法”发生并且我成功地注入了某些东西来导致失败(这不是我编程的首选方法)。
我如何指示nose随机执行测试的顺序?
nosetests /path/to/testA.py /path/to/testB.py /path/to/testC.py
nosetests /path/to/testA.py /path/to/testC.py /path/to/testB.py
nosetests /path/to/testB.py /path/to/testA.py /path/to/testC.py
nosetests /path/to/testB.py /path/to/testC.py /path/to/testA.py
nosetests /path/to/testC.py /path/to/testA.py /path/to/testB.py
nosetests /path/to/testC.py /path/to/testB.py /path/to/testA.py
虽然可能需要整晚才能运行完,但至少你会知道问题出在哪里。
希望这可以帮助你开始。
您可以通过指定测试用例的完全限定路径和类名按顺序运行它们。
./nose <<testcasename>>:<<classname>>.testcase_name1 <<testcasename>>:<<classname>>.testcase_name2
<<testcasename>>:<<classname>>.testcase_name4
将这些路径复制到bat.cfg文件中,并使用./nose -c bat.cfg运行