0
我正在用Maven運行一個非常簡單和輕量級的測試套件,使用MockMvc
來測試我的控制器。我配置了基本身份驗證,並且一切正常。@EnableBatchProcessing打破MockMvc測試
但是,只要將註釋@EnableBatchProcessing
添加到我的某個類中,測試全部失敗,並且401未經授權。只是一個簡單的註釋,一切都打破。
爲什麼批處理註釋會以這種方式影響測試?
我正在用Maven運行一個非常簡單和輕量級的測試套件,使用MockMvc
來測試我的控制器。我配置了基本身份驗證,並且一切正常。@EnableBatchProcessing打破MockMvc測試
但是,只要將註釋@EnableBatchProcessing
添加到我的某個類中,測試全部失敗,並且401未經授權。只是一個簡單的註釋,一切都打破。
爲什麼批處理註釋會以這種方式影響測試?
原來Spring Batch配置已關閉。問題基本上與here相同。
我想爲批處理細節使用內存映射,但即使它工作,它也會在運行測試時造成嚴重破壞。
當我將配置工作到下面的時候,測試工作完美。
@Configuration
@EnableBatchProcessing
public class ExcelBatchConfig extends DefaultBatchConfigurer {
/**
* If we don't provide a datasource, an in-memory map will be used.
*/
@Override
@Autowired
public void setDataSource(DataSource dataSource) {
}
}
打開調試日誌。我懷疑Spring Security已經啓動。 – chrylis 2014-12-05 11:55:16
@chrylis你說得對,我在這裏發表了一個問題。事實證明,批處理管理器與JPATransactionManager搞砸了,所以在嘗試讀取數據庫時驗證失敗。 – Kayaman 2014-12-05 13:05:30