2013-12-22 146 views
5

我試圖運行與鼻試驗,這裏是項目結構:鼻子運行測試兩次

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次。你能解釋我嗎,爲什麼我會得到這種行爲,我該如何預防它?

回答

4

您可以將您的test_runner.py重命名爲runner.py,這樣鼻子不會將您的測試跑步者視爲測試本身。

0

如果您在您的測試文件中使用setup_module()和teardown_module(),並定義: @with(setup_module,teardown_module)

高清TEST_1():

pass 

,那麼你需要從你的文件中刪除@with(setup_module,teardown_module),這會讓你的測試運行兩次。

相關問題