2016-03-08 86 views
0

我有一個主要方法(if __name__ == '__main__':等)的腳本,我試圖使用unittest測試,並且the basic example,建議將unittest_main()放在您的主要方法中。這似乎是壓倒我以前在我的main方法中所做的任何事情。例如,腳本曾經使用的任何參數現在都被彙集到單元測試中。任何提示在這裏?Python單元測試主要方法干擾我的腳本的主要方法

+1

不要單元測試腳本;單元測試模塊。你的腳本只是外部資源和你的模塊之間的接口。 – chepner

+0

感謝您的教訓@chepner!我現在可以確認我正在處理的是一個模塊,因爲它是可導入的和可重用的。你會改變你以前的答案創建一個包裝給出這些信息? – Edwud

回答

1

使你的腳本一個簡單包裝的模塊:

import mymodule 

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

腳本現在不需要單元測試(或者更確切地說,它需要的只是嘲笑mymodule並確認它調用mymodule.main())並且所有可測試邏輯都位於不能作爲腳本運行的模塊中。