2013-12-11 54 views
14

我一直在尋找PEP 8 -- Style Guide for Python CodePEP8 -- Advanced Usage以獲取如何命名我的測試類的線索。但是,這兩個站點以及我查看過的許多其他站點(如Python文檔中的unittest頁面)都從未提及過這一點。我看到的唯一一貫的風格是「CapWords」。在unittest文檔中,他們有TestSequenceFunctions和DefaultWidgetSizeTestCase的例子。PEP8測試類的命名約定

我想知道的是使用「名稱」測試還是測試「名稱」。方法使用test_「名稱」,這幾乎成立。關於課程,我正在努力尋找一個會議,如果有一個。

希望論壇對此有所幫助。

回答

9

documentation for unittest建議,例如:

class TestSequenceFunctions(unittest.TestCase): 

    def test_shuffle(self): 
     ... 

    def test_choice(self): 
     ... 

評論

三個單獨的測試與他們的名字開始以字母test方法來定義。這個命名約定告訴測試運行者哪些方法代表測試。

+0

謝謝。測試自己不是一個問題,否則單元測試不會提取它們。 – musabaloyi

3

Django和SQLAlchemy是兩個大型的流行Python項目,它們都使用「名稱」測試。就個人而言,我更喜歡測試「名稱」,主要是因爲當一個文件中有多個測試用例時,每個用「測試」開始都會使得掃描變得困難。

不是說這等於一個共識,只有兩個重要的數據點和一個個人觀察。

+1

謝謝。我同意你的推理。 – musabaloyi