当前位置: 首页 > 知识库问答 >
问题:

导入属性@Spring批次测试值

呼延永新
2023-03-14

我有这个案子:

@Scheduled(cron = "${batch.cron-rule}")    
public void perform() throws Exception {
     JobParameters jobParameters = new JobParametersBuilder().toJobParameters();
     jobLauncher.run(jobRegistry.getJob("idemOperationJob"), jobParameters);
}

在我的测试中,我必须在启动作业时导入该属性batch.cron规则。我用这个参数在src/test/Resources中创建一个文件application-test.properties,在测试中我设置了这个注释

@ExtendWith(SpringExtension.class)
@SpringBatchTest
@SpringBootTest
@ContextConfiguration(classes = LoadJob.class)
@PropertySource("classpath:application-test.properties")
class LoadJobTest {

但它接缝不工作。

环境是JUnit 5。

谢谢帮忙!

共有1个答案

马亮
2023-03-14

您可以使用

@TestPropertySource("classpath:application-test.properties")

或者

 @PropertySource("classpath*:application-test.properties")

或者

@TestPropertySource(locations = {
   "classpath:application-test.properties"})

如果以上任何一项都不适合您,请告知我们。

 类似资料:
  • 我们在Spring批处理块分区架构的基础上编写了一个批处理基础框架。(主从并行处理模型)[1]

  • 我有一个,我正试图通过SpringMVC测试来测试它。它包含以下: 当我对这个运行测试时,我在这个方法中得到一个。 有没有一种方法可以模拟这个方法,使得模拟的方法被用来代替这个方法进行测试?我已经阅读了关于这个的其他帖子,并认为我可以在测试中传递一个“AuthUser”参数,但这不起作用。最终试图让这个“用户”不要扔NPE...这是我的测试...

  • 我的测试属性将被放置在生产属性中的属性覆盖。当时,我两人都给起了名字,但它不起作用,所以我就像这篇文章中说的那样,改成了并使用profile。现在看起来就像贝娄(kotlin): 在中,我只将此属性设置为,而在中,则设置为。 这个测试失败了。完整示例可在github上找到 Thx提前。

  • 我使用自动配置(仅通过注释)运行Spring启动和kafka,并在.yaml文件中定义了道具,即: 它工作得很好,spring maps即字段group-id正确。 但是当我尝试使用相同的yaml文件手动配置Kafka(使用消费者工厂和消费者配置)时,我遇到了问题。在类中,消费者配置Kafka属性以 命名。在名称中,而不是 _ 即: 所以我不能把它们加载到map中,然后把map传递给Consume

  • 我们正在从Oracle DB迁移到Azure SQL Server,用于我们的Spring批处理应用程序。 我断断续续地得到以下错误 错误:01.03.2022:1458(40.269)[]main]命令行JobRunner:作业因错误而终止:创建名为“dateStoreList”的bean时出错:设置bean属性“jobRepository”时无法解析对bean“jobRepository”的引