簡體   English   中英

為什么我在使用QUnit編寫測試時會使用expect()?

[英]Why Would I ever use expect() When Writing Tests With QUnit?

我最近開始使用QUnit對我的JavaScript進行單元測試,我對文檔中的一個功能有點困惑: expect()

根據文檔, expect()旨在:

[s]指出在測試中預計會運行多少個斷言。

這是他們給出的例子:

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" );
});

我唯一看到的是維護噩夢。 每次向測試添加斷言時,都必須更新該編號,否則測試將失敗。 這種功能有實際應用嗎?

我在這里看到的唯一一件事是維護噩夢......這種功能是否有實際應用?

好吧,我認為expect的方式是使用分組有意義的任務。 它對測試事件或回調非常有用,例如:

test('trigger an event', function() {
  expect(1);

  $('div')
    .on('click', function() { ok(1) });
    .trigger('click');
});

如果您將有意義的任務分組在小測試中,並且預期只有2或3個斷言,那么這不會成為一場噩夢。

它可以作為一種安全措施,以確保您沒有以某種方式編寫無法運行的測試。 如果你養成了編寫預期數量的測試的習慣,你是否應該以某種方式編寫一個測試套件,其中一個測試由於某種原因隱藏在QUnit中,QUnit會在你之前選擇它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM