Ant*_*kiy 5 unit-testing jasmine typescript angular2-routing angular
我正在尝试对使用路由器的组件进行单元测试,我的代码是打字稿.在测试规范中有很多用于注入路由器的接收器,但是没有一个适用于我,有些在当前版本中不可用.我试过这个:
beforeEach(() => {
addProviders([
MyComponent,
provideRouter([]),
provide(APP_BASE_HREF, { useValue: '/' }),
provide(ActivatedRoute, { useValue: {} })
]);
});
Run Code Online (Sandbox Code Playgroud)
并收到错误消息
Error: Bootstrap at least one component before injecting Router.
Run Code Online (Sandbox Code Playgroud)
当我尝试完全模拟路由器时:
class MockRouter {
public navigate() {}
}
beforeEach(() => {
addProviders([
MyComponent,
provide(Router, { useClass: MockRouter })
]);
});
Run Code Online (Sandbox Code Playgroud)
测试套件完全停止并显示错误消息
TypeError: Attempting to configurable attribute of unconfigurable property.
Run Code Online (Sandbox Code Playgroud)
在router_testing_module.d.ts中,他们建议:
beforeEach(() => {
configureModule({
modules: [RouterTestingModule],
providers: [provideRoutes(
[{path: '', component: BlankCmp}, {path: 'simple', component: SimpleCmp}])]
});
});
Run Code Online (Sandbox Code Playgroud)
但是这个功能configureModule似乎不存在(还有吗?).
在这种情况下我该怎么办?
| 归档时间: |
|
| 查看次数: |
171 次 |
| 最近记录: |