我有一個小的命令行應用程序(約6k行)。它沒有單元測試,因爲我不知道如何寫它們;但我現在追溯添加一些。我讀了this tutorial,但我對如何使用此模塊測試整個應用程序感到困惑;事實上,我甚至不確定我想做什麼就是所謂的「單元測試」。在Python中對整個應用程序進行迴歸測試
具體來說,如果我用某些參數運行我的應用程序,它應該會生成某些輸出文件。我想確保那些輸出文件不變。
也就是說,我的應用程序下面的命令行調用:
main.py config1.txt 100 15
main.py config2.txt def 10 qa
etc.....
創建一些小的輸出文本文件(每個< 10 MB),並把它們放入單獨的文件夾(每個每次調用一個),命名例如:
output/config1.100.15.201202011733/
output/config2.def.10.qa.201202011733/
etc...
每個文件夾包含一些小的文本文件(10MB <每個)。每次代碼更改後,我想用幾十個命令行參數運行我的應用程序,並注意輸出文件不同的任何情況。 (理想情況下,我想要做的比這更多;例如,對於某些輸出文件,將它們與具有特定主鍵的製表符分隔表進行比較,以便如果行順序發生更改,它們仍會評估爲相等;但這不是危急)。
什麼是設置它的好方法?
S.Lott說的內容也可以理解爲:不要使用文件來驗證輸出;重構一下你的應用程序來驗證函數返回/副作用。並且我同意。它仍然不是單元測試(如果你只是想驗證整個應用程序運行良好,而不是它的部件/單元),那麼它並不是單元測試(但不一定是),但它肯定更加麻煩。 – pkoch 2012-02-02 04:55:02