javascript – 为什么会使用expect()在使用QUnit编写测试时?

前端之家收集整理的这篇文章主要介绍了javascript – 为什么会使用expect()在使用QUnit编写测试时?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近开始使用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个断言才会成为一个噩梦.

猜你在找的JavaScript相关文章