小编Jav*_*xas的帖子

运行 Spring Batch 测试,不初始化数据库

尝试为 Spring Batch 应用程序创建一些端到端测试,效果很好。我收到一个 sql 错误,因为它没有初始化 Spring Batch 处理表:org.postgresql.util.PSQLException: ERROR: relation "batch_job_instance" does not exist

我在以下位置有这段代码src/test/resources/application.properties

spring.datasource.initialize=true
spring.datasource.initialization-mode=always
spring.datasource.platform=postgresql

spring.batch.initialize-schema=always
Run Code Online (Sandbox Code Playgroud)

这与我在`src/main/resources/application.properties 上的相同并且有效。

这是我的代码ApplicationTest

spring.datasource.initialize=true
spring.datasource.initialization-mode=always
spring.datasource.platform=postgresql

spring.batch.initialize-schema=always
Run Code Online (Sandbox Code Playgroud)

我有一个特定的方法TestConfiguration来生成Bean一个DataSource.

@RunWith(SpringRunner.class)
@ContextConfiguration(classes={
        TestConfiguration.class,
        JobCompletionNotificationListener.class,
        BatchConfiguration.class
})
@SpringBatchTest
public class ApplicationTests {

    @Autowired
    private JobLauncherTestUtils jobLauncherTestUtils;


    @Test
    public void testJob() throws Exception {
        JobExecution jobExecution = jobLauncherTestUtils.launchJob();
    }
}
Run Code Online (Sandbox Code Playgroud)

我期望创建所有表(内部 Batch 表和 中定义的表schema-all.sql)。

但我收到以下错误org.postgresql.util.PSQLException: ERROR: relation "batch_job_instance" does not …

integration-testing spring-batch

5
推荐指数
1
解决办法
1647
查看次数

标签 统计

integration-testing ×1

spring-batch ×1