我有一個運行在SpringJUnit4ClassRunner
上的集成測試集合。我試圖用maven surefire並行運行這些。但是,我注意到,在進入CacheAwareContextLoaderDelegate.loadContext()
中的同步塊之前,代碼被阻塞。與maven並行運行彈簧測試
有沒有辦法繞過這個緩存?我試過這樣做,但似乎有更多的共享狀態,而不僅僅是緩存本身,因爲我的應用程序在Spring代碼內死鎖。或者可以通過某種方式使地圖關鍵字而不是整個地圖同步來使同步更加精細?
我對parallelising測試的動機是雙重的:
- 在一些測試中,我用嘲笑取代豆。由於嘲笑本質上是有狀態的,我必須使用
@DirtiesContext
爲每個測試方法構建新的ApplicationContext。 - 在其他測試中,我只想部署Jersey資源的一個子集。爲此,我指定了Spring配置類的一個子集。由於Spring使用
MergedContextConfiguration
作爲上下文緩存中的關鍵字,因此這些測試將無法共享ApplicationContext。
我[爲此提出了一個錯誤報告](https://jira.springsource。組織/瀏覽/ SPR-10536) – hertzsprung 2013-05-07 14:02:28