无法解析UIRouter的所有参数:(?,?)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法解析UIRouter的所有参数:(?,?)相关的知识,希望对你有一定的参考价值。
我正在使用angular2和uirouter进行路由。我已经在应用程序中成功实现了uirouter模块。但是当我尝试测试我的应用程序时出现问题。我在使用业力,Jasmin并使用npm test
启动它。但遇到了ERROR:Can't resolve all parameters for UIRouter: (?, ?).
我在*.spec.ts
文件中导入了“UIRouter”,并将其添加到providers数组中,如下所示。
import { UIRouterModule } from '@uirouter/angular';
import { UIRouter } from "@uirouter/core";
describe('Footer Menus', () => {
let footerMenuBlServiceRef:FooterMenuBLService;
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [],
declarations: [],
providers: [UIRouter],
})
.compileComponents();
}));
但没有运气。任何帮助将不胜感激。
答案
解决了!!!只需从UIRouter
数组中删除providers
,但保留import语句。是的,它的工作。
另一答案
在上个星期五,我终于找到了一种方法让它发挥作用。它不是一种干净的方式,但它至少可以工作。
我使用我的功能模块的状态重新导入UIRouter.forRoot,并为UIRouter的Root Provider提供APP_BASE_HREF值。
这是我的BeforeEach:
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [
HomeComponent,
HomeCardComponent
],
imports: [
AppMaterialModule,
// Always import root UIRouter module when testing a component including routing
UIRouterModule.forRoot({states: HOME_STATES})
],
providers: [
// Also, include the base href value when testing a component including routing
{provide: APP_BASE_HREF, useValue: '/'}
],
}).compileComponents();
}));
如果你知道更好的方式,我很乐意知道! :)
另一答案
UI-Router source可以提供一些帮助。这对我有用:
import { UIRouterModule } from '@uirouter/angular';
...
TestBed.configureTestingModule({
...
imports: [UIRouterModule.forRoot({ useHash: true })],
})
以上是关于无法解析UIRouter的所有参数:(?,?)的主要内容,如果未能解决你的问题,请参考以下文章
无法解析ObservableDataSource的所有参数:([object Object] ,?)
无法解析AuthGuard的所有参数:在我的AuthGuard服务中
“无法解析服务的所有参数:(?)”当我尝试在 Angular 10 中使用库中的服务时