我正在尝试使用dart测试异步代码。
我的逻辑是:
我用香草飞镖做这个,但有角度我得到例外:
Test failed: Caught [Timer created from sync function.]
然后我将测试包装在异步中并得到以下错误:
Test failed: Caught [2 active timer(s) are still in the queue.]
我在这里为测试创建了一个repo:https://github.com/giovannicandido/angulardart-async-test
答案 0 :(得分:1)
测试在特殊区域内执行(参见lib / mock / zone.dart)。
在这个区域内,新的Timer()将创建一个模拟计时器,你需要 调用clockTick()来模拟时钟滴答。
有关示例,请参阅test / mock / zone_spec.dart。
您的测试应该看起来像
clockTick(milliseconds: 1150);
expect(ndom).toBeNull();