cho*_*ban 5 mocha.js angularjs chai
我目前正在学习AngularJS,其中一部分涉及创建测试.目前我正在尝试研究如何为失败的测试创建更有用的错误消息.例如,如果我在Java-land并编写JUnit测试,我会做类似于此的事情:
assertTrue( "The foo value should be true at this point", bar.isFoo() );
Run Code Online (Sandbox Code Playgroud)
这样,如果检查失败,我将在日志中获得第一个参数.
对于mocha中的布尔检查(使用chai和sinon,如果有所不同)我有......
expect(broadcastSpy.calledWith('order.add')).to.be.true;
Run Code Online (Sandbox Code Playgroud)
如果失败,那么我得到以下内容:
expected false to be true
AssertionError: expected false to be true
Run Code Online (Sandbox Code Playgroud)
有没有办法在测试我的应用程序时复制有用的失败消息?
Lou*_*uis 11
我在回答另一个问题时提到了这个问题.我刚检查了Chai的代码,以确保自从我写完答案后没有任何变化,发现以下情况仍然存在.代码:
expect(foo).to.be.true;
Run Code Online (Sandbox Code Playgroud)
不接受自定义消息,因为它true是通过getter获取其值的属性.但是,您可以这样做:
expect(foo).to.equal(true, "foo should be true");
Run Code Online (Sandbox Code Playgroud)
如果断言失败,则获取自定义消息.
Chai的断言接口支持所有断言的消息,例如:
assert.isTrue(foo, "foo should be true");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2517 次 |
| 最近记录: |