我試圖決定如何爲Java-EE Web應用程序創建一組驗收測試。如何使用Maven進行部署後運行測試?
以下是設置:Maven用於生成WAR文件並將其部署到Glassfish中。在部署時,MySQL數據庫模式使用Hibernate從模型類自動更新(「hbm2ddl = auto」選項)。
驗收測試需要通過調用各種方法來測試已部署的代碼,並檢查結果是否符合預期(*)。我們編寫了一套額外的軟件包來掛接到現有的系統中,因此驗收測試應該顯示如何將這些軟件包集成到現有的代碼庫中。 (*)這聽起來更像單元/集成測試,但它們是驗收測試,它們應該證明我們所做的工作,並且需要在部署之後運行,以便有一個數據庫。
從上面,我目前的想法是使用JUnit來檢查期望值等。我正在努力的是如何在部署後調用這些測試。 「部署」是Maven的最後階段,所以不確定這是否可行?
我不確定你真的需要在測試之前進行部署。對於集成測試,我們可以使用DBUnit,並且數據庫將可用。 –
謝謝,但即使數據庫是從使用Hibernate的類生成的,這是真的嗎?我從來沒有使用過DBUnit(但是在試圖找到答案的時候在這裏遇到過幾次),所以需要研究一下。 –
是的,這是真的;我目前使用它進行集成測試。 –