我使用Test::Unit::TestCase
來編寫一些單元測試。目前,我有一個setup
函數,用於移動和修改磁盤上的一些夾具文件和文件夾。 (目前這是一個必要的罪惡。)如果測試崩潰,teardown
方法不會被調用,從而留下文件和文件夾。下一次我運行一個測試時,它會抱怨這個文件夾已經存在(Errno::EEXIST
),這讓我不得不停下來擺脫剩下的文件。確保teardown在Test :: Unit :: TestCase中運行?
我該如何ensure
teardown
總是運行? (ensure
與finally
在某些其他語言中的意思相同。)
你是什麼意思「如果一個測試崩潰」?口譯員中止? – philant 2010-02-12 20:22:26
我的意思是它出錯了,例外說。 – 2010-02-12 20:23:58
你可以發表一個例子嗎?引發異常或語法錯誤被框架捕獲,並調用拆卸方法。你仔細檢查方法名稱是否拼寫完好? – philant 2010-02-12 21:25:42