Jasmine (2.2.0) スパイを使用して、特定のコールバックが呼び出されているかどうかを確認しています。
テストコード:
it('tests', function(done) {
var spy = jasmine.createSpy('mySpy');
objectUnderTest.someFunction(spy).then(function() {
expect(spy).toHaveBeenCalled();
done();
});
});
これは期待どおりに機能します。しかし今、私は2番目のレベルを追加しています:
it('tests deeper', function(done) {
var spy = jasmine.createSpy('mySpy');
objectUnderTest.someFunction(spy).then(function() {
expect(spy).toHaveBeenCalled();
spy.reset();
return objectUnderTest.someFunction(spy);
}).then(function() {
expect(spy.toHaveBeenCalled());
expect(spy.callCount).toBe(1);
done();
});
});
done
どうやらコールバックが呼び出されないため、このテストは返されません。行を削除するspy.reset()
と、テストは終了しますが、最後の期待に明らかに失敗します。ただし、callCount
フィールドはundefined
ではなく のようです2
。