2013-04-25 186 views
3

我寫了下面的表格中我的一個程序MachineSettings_test.py的單元測試:Python的單元測試調用混亂

import unittest 
import MachineSettings as MS 

class TestMachineSettings(unittest.TestCase): 
    def setUp(self): 
     [...] 

    def testStringRepresentation(self): 
     [...] 

    def testCasDict(self): 
     [...] 

if __name__=="__main__": 
    unittest.main() 

我一點點由以下事實感到困惑: 如果我運行

python -m unittest -v MachineSettings_test 

我得到的輸出

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

OK 

即Python不承認測試插件ide單元測試模塊。

但如果我只是運行

python MachineSettings_test.py 

一切正常,我得到的輸出

.. 
---------------------------------------------------------------------- 
Ran 2 tests in 0.000s 

OK 

這是令人困惑的我,我找不到任何類似的問題在這裏,所以我貼它。

我(被強迫要)使用的Python版本是2.6,但是在文檔中我找不到任何使這種情況變得特別的東西。

任何想法?

感謝

回答

4

documentation

改變在2.7版:在早期版本中它只是可以運行獨立的測試方法,而不是模塊或類。

而你正在嘗試使用python 2.6運行整個模塊的測試。

顯然,您甚至無法在python 2.6中使用-m unittest個別測試方法運行。有關詳細信息,請參閱此question

您可能想嘗試nosenose2

+0

這是如何回答這個問題的? – delnan 2013-04-25 15:56:17

+0

他使用2.6並且想要運行'python -m unittest -v MachineSettings_test',即在一個模塊上。 – gatto 2013-04-25 15:57:16

+0

哦,對。 (你可能想在答案中指出這一點。) – delnan 2013-04-25 15:58:11