waitsForの第一引数のfunctionを、timeout時間分絶えず実行し、trueが返れば続くrunsを実行。timeoutした場合はエラーを表示、という流れ。これで非同期のテストができる。
var flg = false;
it('test', function () {
setTimeout(function () {
flg = true;
}, 3000);
waitsFor(function () {
console.log(flg); //これが繰り返し呼ばれる
return flg;
}, 'Timed out', 1000);
runs(function () {
expect(flg).toEqual(true);
});
});