假設你開始了一個自動生成的方法如何將測試代碼與生產代碼一起重構?
public void setKey(Key key) {
this.key = key;
}
,併爲其
@Test
public void testSetKey()
然後3現在一個月你決定,該方法更合適的名稱將是changeKeyTo
編寫一個測試。你重構你的產品代碼和結束:
public void changeKeyTo(Key key) {
this.key = key;
}
生活是美好的,但是,你的測試名稱保持不變
@Test
public void testSetKey()
你如何處理這樣的事情?你可以用你的生產代碼自動重構測試代碼嗎?日食是否允許這樣做?
可能的重複http://stackoverflow.com/questions/3317789/is-it-possible-to-automaticly-rename-the-unit -test-class-when-renaming-the-class – nobeh 2012-03-23 15:15:08
@BehroozNobakht,不是重複的 - 這是關於重命名一個*方法*,這也是從測試中調用的。這是絕對必要的,否則你的測試代碼不再編譯。重新命名一個測試*類*類似於被測試的類是一個很好的功能,缺少它不會造成任何直接的問題。如果沒有它,你的單元測試仍然是編譯和運行的,只有更難看到測試類和被測試類之間的邏輯依賴關係。 – 2012-03-23 15:19:13
這是一個關於這個職業的非常好的,深思熟慮的問題,在理想的世界裏,我可能會建議程序員的場地。需要考慮的一件事是讓自動生成的方法保持完好,因爲如果想要「更合適的名稱」,那麼可以使用類生成來刷新這些方法,併爲此做一個包裝。但這是一個狹隘的問題;我認爲這個問題值得更廣泛的討論。 – hardmath 2012-03-23 15:21:22