spring.job.enabled:true导致junit作业运行两次

时间:2016-07-22 07:29:26

标签: spring spring-boot spring-batch

我有一个春季启动春季批量项目。以下设置在我的application.yml

<?php

foreach($teams as $site) {
    $url     = $site["url"];
    $html    = file_get_html($url);
    $anchors = $html->find($site["selector"];

    if ($anchors !== null) {
        foreach ($html->find($site["selector"]) as $a) {
            $links[] = $a->href; break;
        }
    } else {
        $links[] = 'Not found';
    }
}

?>

如果我将此设置设置为true,则会导致我的junit测试每次启动单元测试时都会运行两次。

当我将设置更改为false时,当我启动相同的单元测试时,我的junit测试运行一次。

有几个问题......

我不是100%清楚这个设置是什么。有人可以告诉我更多。

还有我可以在单元测试中将任何内容更改为false,仅用于我的单元测试。

1 个答案:

答案 0 :(得分:2)

来自the official documentation:

  

默认情况下,将创建一个Runner,并在启动时执行上下文中的所有作业。

     

使用 spring.batch.job.enabled = false 停用此行为。