如何用casperjs显示每个测试的时间

时间:2015-05-08 07:52:17

标签: javascript unit-testing testing casperjs e2e-testing

我有一个带有一个数组的“启动器”脚本,包含许多测试的所有名称和路由。当我运行所有测试时,casper仅显示运行所有测试的总时间。 我需要显示每个测试脚本需要多少时间,casperjs有什么方法可以做到这一点吗?

当使用param'all'时,我会运行所有测试。

var testsPaneles = [
    ["Panel1", "./Paneles/testPanel1.js"],
    ["Panel2", "./Paneles/testPanel2.js"]
]

if (casper.cli.get('arg') == 'all') {
    casper.start()
        .then(function() {
        casper.test.begin('Bateria de pruebas ', function suite(test) {
            for (i = 0; i < testsPaneles.length; i++) {
                var prueba = require(testsPaneles[i][1]);
                prueba();
            }
        });
    }).run(function() {
        this.test.done();
    });
}

结果:

# Bateria de pruebas Panel Operador
# Test Panel Oper - Clientes
PASS Input Usuario
PASS Input Password
# Test Panel-Oper - Portfolio
PASS Input nombre usuario
PASS Input pass usuario
PASS 4 tests executed in 4.23s, 4 passed, 0 failed, 0 dubious, 0 skipped.

我希望,像这样:

# Bateria de pruebas Panel Operador
# Test Panel Oper - Clientes
PASS Input Usuario
PASS Input Password
**Time: 1.59s**
# Test Panel-Oper - Portfolio
PASS Input nombre usuario
PASS Input pass usuario
**Time: 2.24s**
PASS 4 tests executed in 4.23s, 4 passed, 0 failed, 0 dubious, 0 skipped.

1 个答案:

答案 0 :(得分:2)

最后我在launcher.js

中使用此函数解决了这个问题
var start = Date.now();
casper.test.on('success', function tiempo() {
    casper.echo(Date.now()-start + "ms");
    start = Date.now();
});

当每个测试运行事件&#34;成功&#34;。

时,此功能启动