我正试图用鼻子进行测试,这是项目结构:
ForTest
├── test_module
│ └── test_suite.py
└── test_runner.py
test_suite.py包含:
def test_1():
pass
def test_2():
pass
和test_runner.py包含下一个:
import nose
nose.main(argv=['','-v']).run_and_exit()
当我运行test_runner.py时,我在输出中有下一个内容:
test_suite.test_1 ... ok
test_suite.test_2 ... ok
test_suite.test_1 ... ok
test_suite.test_2 ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.002s
OK
鼻子跑两次测试。如果我连接自己的插件,我可以看到,例如,mehtod addSuccess()调用4次。你能解释一下,为什么我会这样做,我该如何预防呢?
答案 0 :(得分:4)
您可以将test_runner.py
重命名为runner.py
,这样鼻子就不会将您的测试跑步者视为测试本身。
答案 1 :(得分:0)
如果您在测试文件中使用setup_module()和teardown_module()并定义: @with(setup_module,teardown_module)
def test_1():
pass
然后你需要从你的文件中删除@with(setup_module,teardown_module),这使你的测试运行两次。