2014-12-05 75 views
0

我正在用Maven運行一個非常簡單和輕量級的測試套件,使用MockMvc來測試我的控制器。我配置了基本身份驗證,並且一切正常。@EnableBatchProcessing打破MockMvc測試

但是,只要將註釋@EnableBatchProcessing添加到我的某個類中,測試全部失敗,並且401未經授權。只是一個簡單的註釋,一切都打破。

爲什麼批處理註釋會以這種方式影響測試?

+1

打開調試日誌。我懷疑Spring Security已經啓動。 – chrylis 2014-12-05 11:55:16

+0

@chrylis你說得對,我在這裏發表了一個問題。事實證明,批處理管理器與JPATransactionManager搞砸了,所以在嘗試讀取數據庫時驗證失敗。 – Kayaman 2014-12-05 13:05:30

回答

1

原來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) { 
    } 
}