[英]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.