Angular2 + Meteor:如何在组件测试中使用fakeAsync调用

时间:2017-09-09 10:14:59

标签: angular unit-testing mocha angular-meteor

我想在组件测试中(在angular2-meteor项目中)测试一些路由器逻辑,因此我想使用fakeAsync(...)。因此,运行npm test时,我在浏览器中收到以下错误:

Error: Expected to be running in 'ProxyZone', but it was not found.proxy.js

在网上搜索了类似的问题,我找到了https://github.com/angular/angular/issues/11230。它表明zone.js/mocha-patch已经可用于将测试包装在适当的区域中。

如果我在mocha-patch中导入init.test.js,则会收到以下错误:

TypeError: mochaOriginal.beforeEach is undefined

我认为在init.test.js中使用mocha-patch还为时过早。

我应该如何在角度流星项目中使用它(基于angular2-meteor-base样板)?

感谢您提前提供任何帮助。

1 个答案:

答案 0 :(得分:0)

我以前遇到过这个,对于我的情况,我把fakeAsync包装描述回调函数而不是包装“it”回调函数 例如: 而不是:

<div class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
  <!-- Modal content -->
</div>

你应该这样做:

describe('text1', fakeAysnc(() => {}))