我的團隊正在努力教育我們的一些開發人員進行測試。他們明白爲什麼要寫測試,並且在寫測試的時候,他們應該寫測試,但在編寫好的測試方面有點欠缺。讓JUnit失敗,實際上並沒有運行斷言的測試
我剛纔看到一個犯這樣
public void SomeTest{
@Test
public void testSomething{
System.out.println(new mySomething.getData());
}
所以他們至少確保他們的代碼給了他們通過尋找預期的輸出。
在我們能真正推銷代碼評論的想法之前,與此同時,我正在考慮讓JUnit在任何沒有實際assertXXX或失敗語句的測試中失敗。然後,我想讓這個失敗消息說「你的測試應該使用斷言並且實際檢查輸出!」。
我完全期待這導致像assertTrue(1 == 1);
這樣的電話。我們正在幫助團隊進行正確的測試和代碼審查,是否有任何技術機制可以幫助已經獲得它的開發人員簡化生活?那些幫助新人理解的技術機制呢?
我和你一起讓人們購買並接受教育。我正在尋找更多工具來幫助其他開發人員,並監視代碼,以便當我們發現一個不好的測試時,我們可以將其標記出來並與仍在學習的人交談。 – Freiheit 2011-02-25 17:22:56