我剛接觸TDD並與Mocha和Chai一起工作。我創建了一個測試,當一個值增加時通過,但是當這個增加被放在一個setInterval中時,它會失敗。這段代碼的目的是讓屏幕上有東西移動。當使用setInterval測試功能時,Mocha和Chai測試失敗
function startMovingThing(){
var position = setInterval(function() {
moveThing(10);
}, 100);
}
function moveThing(number){
thing.position += number;
thingOnScreen.style.left = thing.position + 'px';
}
測試:
describe('Thing', function() {
it('should increase position', function(){
assert.increases(startMovingThing, thing, 'position');
});
});
我怎樣才能得到這個測試(或應該測試什麼)通過?
我不希望moveThing()超出間隔,因爲如果間隔被清除並且函數被調用,那麼這個東西就不應該移動。
上面的代碼不清楚代碼應該如何工作。 是從一個斷言庫增加一個函數嗎?事物是在哪裏定義的? – vintem
增加來自Chai斷言庫。事情是在我的javascript – Birdman