基本上,咆哮通知(或其他回調)時,測試中斷或通過。 這樣的事情存在嗎?Python單元測試有沒有像'autotest'?
如果不是,它應該很容易寫..最簡單的辦法是..
- 運行
python-autotest myfile1.py myfile2.py etc.py
- 檢查文件,待監控已被修改(可能只是如果他們已經被保存)。
- 在這些文件中運行任何測試。
- 如果測試失敗,但在上次運行過程中通過,則會生成一個咆哮警報。測試失敗,然後通過。
- 等待,然後重複步驟2-5。
我能看到的問題有,如果測試是在不同的文件中。簡單的解決方案是在每次保存後運行所有測試..但通過較慢的測試,這可能需要比保存之間的時間更長的時間,並且/或者可能使用大量的CPU功率等。
最好的方法要做到這一點,實際上會看到代碼已經發生了什麼變化,如果函數abc()已經改變,只能運行與之交互的測試。雖然這會很好,但我認爲這會非常複雜。
總結:
- 有沒有像Ruby的工具
autotest
(在ZenTest package的一部分)什麼,但對於Python代碼? - 如何檢查腳本的兩個版本之間哪些功能發生了變化?
- 是否可以確定命令將調用哪些函數? (有點像一個反向回溯)
我不認爲有可能正確測試您是否只運行直接引用修改函數的測試。您將不會測試函數如何與代碼的其餘部分交互。例如,它可能會通過測試,但在實踐中失敗,因爲它的行爲以微妙的方式變化。 – freespace 2008-09-20 18:33:21
嗯,好點。 – dbr 2008-09-21 06:29:50