我最近开始使用QUnit来单元测试我的
JavaScript,我有点混淆了文档中的一个功能:expect().
根据文档,expect()旨在:
[s]pecify how many assertions are expected to run within a test.
这是他们给出的例子:
test( "a test",function() { expect( 2 ); function calc( x,operation ) { return operation( x ); } var result = calc( 2,function( x ) { ok( true,"calc() calls operation function" ); return x * x; }); equal( result,4,"2 square equals 4" ); });
解决方法
The only thing I see here is maintenance nightmare… Is there a practical application for this kind of feature?
那么,我认为期望的方式是使用分组有意义的任务.它可用于测试事件或回调,例如:
test('trigger an event',function() { expect(1); $('div') .on('click',function() { ok(1) }); .trigger('click'); });
如果您将有意义的任务分组在小型测试中,那么只有2或3个断言才会成为一个噩梦.