[英]Running Junit test cases using 2 separate spring Application Context
我有一組集成JUnit測試用例,我想在2個或更多單獨的spring應用程序上下文中運行。 應用程序上下文在配置設置和bean接線方面有所不同。 但是,如果我使用JUnit類頂部的@ContextConfiguration批注指定應用程序上下文文件名,那么我只能為指定的應用程序上下文運行一次這些測試用例。 是否可以使用不同的應用程序上下文運行相同的JUnit測試用例?
此外,我有興趣在同一測試運行中為每個應用程序上下文執行一次測試用例 - mvn測試。
將測試代碼放在抽象類中,並使用具有不同@ContextConfigurations的子類。 見http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/testing.html#testing-examples-petclinic
您可以使用Maven資源過濾來使用僅包含特定上下文文件的主測試應用程序上下文文件
例如
@ContextConfiguration("classpath:test-context.xml")
其中src/main/resources/test-context.xml
是:
<beans>
<import resource="${project.test.context}" />
</beans>
然后運行mvn test -Dproject.test.context=context1.xml
, mvn test -Dproject.test.context=context2.xml
等。
如果這樣做,您還應該在POM中設置默認的maven屬性project.test.context
。
順便說一句,如果這些是集成測試,它們按慣例應該被稱為... IT.java而不是... Test.java,並且應該由failsafe運行(使用mvn verify
),而不是萬無一失。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.