【发布时间】:2014-07-08 21:10:36
【问题描述】:
我目前正在学习 AngularJS,其中一部分涉及创建测试。目前,我正在尝试研究如何为失败的测试创建更有用的错误消息。例如,如果我在 Java 领域并编写 JUnit 测试,我会做类似这样的事情:
assertTrue( "The foo value should be true at this point", bar.isFoo() );
这样,如果检查失败,我将在日志中获取第一个参数。
对于 mocha 中的布尔检查(使用 chai 和 sinon,以防有所不同)我有...
expect(broadcastSpy.calledWith('order.add')).to.be.true;
如果失败,我会得到以下信息:
expected false to be true
AssertionError: expected false to be true
有没有办法在测试我的应用时复制有用的失败消息?
【问题讨论】:
-
DRY js 测试不是很有用。明确。
it('bar.isFoo() should be true when stuff happens', function() { expect(broadcastSpy.calledWith('order.add')).to.be.true; }); -
也许我只是没有以非常惯用的方式编写测试,因为我有多个调用期望。
-
我同意。测试应该是测试。一组测试是一个套件。如果一个成功的测试需要多个断言,它仍然应该有一个简洁的成功/失败标准。