jasmine.clock().tickを使うと非同期ロジックのテストを同期的にできて便利だけど、jasmine.clock().tick実行後に実行されるはずのsetTimeoutが実行されなかったことがあった。 原因は以下の順序で実行していたこと。
setTimeout(..., 100); jasmine.clock().install(); jasmine.clock().tick(101);
正しくは以下のようにinstall→setTimeoutの順にしなければいけない。
jasmine.clock().install(); setTimeout(..., 100); jasmine.clock().tick(101);
参考: