我目前正在嘗試一個業餘愛好項目的測試驅動開發過程,雖然我理解這個概念(先寫單元測試,看它失敗,讓它工作,重構你的代碼)仍然有一些問題。tdd的第一步
我正在使用的項目是Python中的MUD客戶端。現在我忙於實施telnet協議。 (我知道已經有一個Python中的telnetlib或Twisted中的實現,但這不是重點)
現在我有一個類TelnetHandler實現了Telnet協議(或至少它的一部分)和各種單元測試爲了它。 因爲他們是相當大的,他們都在引擎收錄:TelnetHandler現在unit tests
我的問題如下:
- 大量的測試依賴於對方:例如,如果那麼
test_handle_read
測試失敗很多其他測試也會失敗。 - 在
TelnetOptionsTests
我添加我的班級應該調用的方法來檢查它們是否被調用(各種local_option_enabled
方法)。現在,我班上沒有這些方法。我應該添加單元測試來檢查它們的存在嗎? - 當我開始寫測試時,我改變了
handle_read
方法來解析telnet命令。之後,一旦我完成了測試,我將handle_read
拆分爲_handle_do
,_handle_dont
等等。但是我沒有對那些在原始的handle_read
中進行測試的單元測試。這是否是正確的方法,或者當你用不同的方法分割一個方法時,編寫單元測試是否是一種好的做法?
基本上,我問的是各種提示和指針,可以幫助我提高我的單元測試的技能。
謝謝!
UnitTests的重點在於將被測系統的範圍縮小到可以獨立測試的一個小子集。 – Alfred