鼻子测试两次

时间:2013-12-22 13:24:04

标签: python nose

我正试图用鼻子进行测试,这是项目结构:

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次。你能解释一下,为什么我会这样做,我该如何预防呢?

2 个答案:

答案 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),这使你的测试运行两次。