多次运行grunt任务,直到失败

时间:2016-04-30 22:28:08

标签: javascript gruntjs protractor

连续运行相同的grunt任务的规范方法是什么,多次直到它失败?

我想将问题保持通用,但这是一个特定的用例:

我们在Protractor中编写了大量的端到端测试,我们在grunt-protractor-runnergrunt-contrib-connect的帮助下通过<div *ngFor="let item of items; let i = index; let last = last"> <div *ngIF="last"> ` </div>` ` </div>` 运行。我们要做的是保持grunt任务运行(从connect目录服务的Web服务器),同时循环dist直到它失败(或/和向上)至protractor次)。任务:

N

在此,我们要多次执行connect: { test: { options: { base: 'dist', port: 9001 } }, }, protractor: { options: { keepAlive: true, noColor: false }, local: { options: { configFile: "test/e2e/config/local.conf.js" } } }, grunt.registerTask('e2e:local', [ 'connect:test', 'protractor:local' ]); 次和connect:test次。

1 个答案:

答案 0 :(得分:1)

结果就像将相同的任务添加到任务数组N次一样简单(仍然不确定我们是否能以某种方式避免指定N并无限期地运行任务直到它失败)并且,因为,默认情况下grunt在“故障快速”模式下工作,整个任务在第一次失败时失败。在我们的案例中:

grunt.registerTask('e2e:local', function () {
    var tasks = ['connect:test'];

    var N = 100;
    for (var i = 0; i < N; i++) {
        tasks.push('protractor:local')
    }

    grunt.task.run(tasks);
});

N这里的任务是硬编码的,但可以作为grunt option“从外部”传递。