2012-09-13 101 views
12

我從Python的單元測試,以nosetests框架開關,試圖重用我unittest.TestCase小號爲什麼nosetests找不到任何東西?

cd之後荷蘭國際集團到我的測試包,我開始nosetests as described on their homepage

./test/$ nosetests 

---------------------------------------------------------------------- 
Ran 0 tests in 0.000s 

OK 

爲什麼我需要指定每個模塊有鼻子發現它的測試,如下面的例子?

./test/$ nosetests test_all.py 
....... 
---------------------------------------------------------------------- 
Ran 7 tests in 0.002s 

OK 

另外運行測試上面的一個文件夾不會改變任何東西。

./tests/$ cd .. 
./$ nosetests 

---------------------------------------------------------------------- 
Ran 0 tests in 0.000s 

OK 
+0

我刪除了您的回購鏈接,因爲問題通常應該是自包含的。如果您覺得有必要,請隨時編輯更多信息。乾杯。 – Julian

+0

我把它留給[這裏的人誰想看看](https://github.com/DFE/night-owl/tree/start_nosetests/test) – erikbwork

回答

13

我可以在您的回購中看到至少有一些文件是可執行的,所以至少是問題的一部分。默認情況下,鼻子不會收集這些內容:它試圖避免運行可能對導入造成破壞性的腳本。嘗試使用--exe標誌,或從測試文件中刪除可執行位。

1

如果您想要鼻子運行該包中的所有測試,您需要位於上面的目錄中。

+0

我也試過,沒有成功,看到編輯的問題 – erikbwork

1

在我來說,我已經下面一行測試文件的結尾:

unittest.main() 

從我的所有測試刪除此解決了我的問題。

+0

看看標記的解決方案。這並不是說明確的,而是它的意思。 – erikbwork

相關問題