If you only what to test that the Status
toggles between true
and false
I would just subscribe on the Status
change and check in the change callback that the first time I get the value true
and the second time the value false
.
Writing your test this way you would need to have one start/stop pair, something like this:
asyncTest("computed with ajax", function () {
expect(2); // expecting two asserts, so the Status only changes twice
var sut = new VM();
// multiple calls to A to test the throttle behavior
sut.A('something');
sut.A('something2');
sut.A('something3');
stop();
var callCount = 0;
var expectedValues = [true, false];
sut.Status.subscribe(function (value) {
start();
equal(sut.Status(), expectedValues[callCount]);
callCount++;
});
});
Demo JSFiddle.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…