我刚接触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