我正在開發一個Spring MVC項目,並對源代碼樹中的所有組件進行了單元測試。單元測試與Spring的集成測試
例如,如果我有一個控制器HomeController
,這需要有一個LoginService
注入,然後在我的單元測試HomeControllerTest
我簡單地實例化對象爲正常(春之外),並注入屬性:
protected void setUp() throws Exception {
super.setUp();
//...
controller = new HomeController();
controller.setLoginService(new SimpleLoginService());
//...
}
這很適合作爲一個獨立單元測試每個組件 - 除非現在我在項目中有幾十個類,寫了一個類併爲它寫了一個成功的單元測試之後,我一直忘記更新我的Spring MVC上下文文件,用於在部署的應用程序中進行實際配線。我發現當我將項目部署到Tomcat並從非佈線Bean中找到一堆NullPointers時,我忘記了更新上下文文件。
所以,這裏是我的問題:
這是我的第一個春天項目 - 是正常的,創造個人豆單元測試,因爲我已經做了,然後創建一個測試的第二套房(集成測試)來測試一切如實際應用程序上下文一樣工作?這是否有一個確定的最佳實踐?
另外,如何將單元測試與集成測試分開?我有
src
的所有源代碼,單元測試test
- 是否應該有用於集成測試用例的第二個測試文件夾(如test-integration
)?
因爲這是我的第一個Spring項目,我很好奇別人怎樣通常去這樣做這樣的事情 - 和而不是重新發明輪子我寧願叫社會的其餘部分。
這聽起來像一個很好的策略。但是在單元測試和集成測試在同一個目錄中,Eclipse沒有辦法讓它們分開,是嗎? Eclipse運行junit測試的唯一選項是運行一個或全部運行在某個文件夾中 - 不能像Ant那樣通過名稱來分割它們。 – 2008-11-11 19:22:38
我必須回去檢查Eclipse - 你是對的,如果它們在同一個目錄下,我沒有看到區分測試的方法。我上一個Spring項目是在Idea/Intellij中完成的,並且已經足夠長,我不記得IDE配置是什麼。 – 2008-11-11 22:55:10