oib*_*ibe 5 javascript testing tdd node.js node.js-tape
substack的磁带测试模块允许您使用该plan方法提前指定断言的数量,然后它将自动end为您调用.为什么不放在end测试结束?使用plan和有end什么区别?
自述文件中的第一个示例显示了可行plan但end不会的情况 - 异步测试解析.在这种情况下,你没有明确说,当测试应该都已经解决了,你说有多少最终应该解决:
test('timing test', function (t) {
t.plan(2);
t.equal(typeof Date.now, 'function');
var start = Date.now();
setTimeout(function () {
t.equal(Date.now() - start, 100);
}, 100);
});
Run Code Online (Sandbox Code Playgroud)
如果我们使用end,编写此测试的直观方式如下:
test('timing test', function (t) {
t.equal(typeof Date.now, 'function');
var start = Date.now();
setTimeout(function () {
t.equal(Date.now() - start, 100);
}, 100);
t.end();
});
Run Code Online (Sandbox Code Playgroud)
......但是在第二次断言有机会运行之前,这将结束测试.
您可以进一步推断出需要执行异步或动态代码的任何情况.
| 归档时间: |
|
| 查看次数: |
573 次 |
| 最近记录: |