不理解 casperjs 中的 FAIL/PASS

Not understanding the FAIL/PASS in casperjs

我正在使用 casperjs/phantomjs 和此代码

casper.test.begin('assertEquals() tests', 3, function(test) {
    test.assertEquals(1 + 1, 3);
    test.assertEquals([1, 2, 3], [1]);
    test.assertEquals({a: 1, b: 2}, {a: 1, b: 4});
    test.done();
});

在控制台中,我得到了预期的失败测试,​​但我不明白为什么测试套件被标记为通过

PASS assertEquals() tests (3 tests)
FAIL 1 test executed in 0.029s, 0 passed, 1 failed, 0 dubious, 0 skipped.

我以前没有像这样重新注册过,但是你也得到了失败的(第一个)相等的错误消息。
last PASS 只是说 casperjs finished with the testsuite, 不管里面有什么失败套房。

这是完整的日志:

    root@4332425a143d:/casperjs# casperjs test test.js
    Test file: test.js
    # assertEquals() tests
    FAIL Subject equals the expected value
    #    type: assertEquals
    #    file: test.js
    #    subject: 2
    #    expected: 3
    PASS assertEquals() tests (3 tests)
    FAIL 1 test executed in 0.025s, 0 passed, 1 failed, 0 dubious, 0 skipped.

也就是说第一个 equals 失败了,套件 "assertEquals()" 完成了。