5
我正在嘗試着手進行一些關於Spring單元測試以及特別是交易單元測試的討論。Spring框架 - 單元測試設計
目前,我們在各種各樣的註釋,像這樣的類各地441測試:
我們的測試類的@RunWith(SpringJUnit4ClassRunner.class)
@TransactionConfiguration
@ContextConfiguration(locations={"/context/ServiceTest-context.xml"}, inheritLocations=false)
public class ServiceTests extends AbstractTransactionalJUnit4SpringContextTests {
@Test
public void testSomething() {}
@Test
public void testSomethingElse() {}
}
每個人都有自己的測試環境。
我們面臨的一個問題是,當我們運行單個測試類或單個包時,測試運行良好。
但是,當我們想通過使用maven或類似的哈德森集成來擴展運行所有我們的測試(當前> 400)。
mvn test
我們到了一個地步,然後開始體驗Java GC超限錯誤。
現在我覺得這是根據我們的測試計劃設計,而不是我們需要任何內存限制或關閉警告。
任何人都可以分享他們的經驗和他們解決類似問題的方式嗎?
Eggsy
您是否在各個測試之間共享測試環境並使用特定的forkmode配置?請參閱http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html#forkMode –
測試上下文在各個測試之間共享,但它們不在各個測試類/套件之間共享。我們通常有一個測試類,它使用一個上下文,然後在那個類中使用相同上下文的多個測試。那有意義嗎?我們不使用特定的forkmode配置 - 這是做什麼的? (從來沒有使用過Maven選項) – eggsy84
有用的鏈接爲任何人尋找forkMode信息(http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html) – eggsy84