- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在为 AppComponent 准备单元测试用例,该用例将路由器作为注入(inject)的依赖项,并在我的测试台中包含了 RouterTestingModule。但仍然出现奇怪的错误。请找到如下所示的错误日志:
Error: StaticInjectorError(DynamicTestModule)[RouterLinkWithHref -> Router]:
StaticInjectorError(Platform: core)[RouterLinkWithHref -> Router]:
NullInjectorError: No provider for Router!
error properties: Object({ ngTempTokenPath: null, ngTokenPath: [ 'RouterLinkWithHref', Function ], ngDebugContext: DebugContext_({ view: Object({ def: Object({ factory: Function, nodeFlags: 671753, rootNodeFlags: 1, nodeMatchedQueries: 0, flags: 0, nodes: [ Object({ nodeIndex: 0, parent: null, renderParent: null, bindingIndex: 0, outputIndex: 0, checkIndex: 0, flags: 1, childFlags: 671753, directChildFlags: 1, childMatchedQueries: 0, matchedQueries: Object({ }), matchedQueryIds: 0, references: Object({ }), ngContentIndex: null, childCount: 10, bindings: [ Object({ flags: 8, ns: '', name: 'className', nonMinifiedName: 'className', securityContext: 0, suffix: undefined }) ], bindingFlags: 8, outputs: [ ], element: Object({ ns: '', name: 'nav', attrs: [ Array ], template: null, componentProvider: null, componentView: null, componentRendererType: null, publicProviders: null({ }), allProviders: null({ }), handleEvent: Function }), provider: null, text: null, query: null, ngContent: null }), Object({ ... Error: StaticInjectorError(DynamicTestModule)[RouterLinkWithHref -> Router]: StaticInjectorError(Platform: core)[RouterLinkWithHref -> Router]: NullInjectorError: No provider for Router! at NullInjector.get (webpack:///./node_modules/@angular/core/fesm5/core.js?:1360:19) at resolveToken (webpack:///./node_modules/@angular/core/fesm5/core.js?:1598:24) at tryResolveToken (webpack:///./node_modules/@angular/core/fesm5/core.js?:1542:16) at StaticInjector.get (webpack:///./node_modules/@angular/core/fesm5/core.js?:1439:20) at resolveToken (webpack:///./node_modules/@angular/core/fesm5/core.js?:1598:24) at tryResolveToken (webpack:///./node_modules/@angular/core/fesm5/core.js?:1542:16) at StaticInjector.get (webpack:///./node_modules/@angular/core/fesm5/core.js?:1439:20) at resolveNgModuleDep (webpack:///./node_modules/@angular/core/fesm5/core.js?:8667:29) at NgModuleRef_.get (webpack:///./node_modules/@angular/core/fesm5/core.js?:9355:16) at resolveDep (webpack:///./node_modules/@angular/core/fesm5/core.js?:9720:45)
请帮忙。我已经尝试从我的模板中删除路由器链接。
TestBed.configureTestingModule({
declarations: [
AppComponent
],
imports: [
CoreModule.forRoot(),
RouterTestingModule.withRoutes(routes),
],
providers: [
{provide: APP_BASE_HREF, useValue: '/'},
]
}
最佳答案
请问您是否导入了RouterTestingModule
?你应该这样导入它:
从'@angular/router/testing'导入{RouterTestingModule};
此外,RouterTestingModule.withRoutes(routes)
中的routes
是什么?以下是如何将 RouterTestingModule 导入测试平台的示例。
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [
HttpClientTestingModule,
RouterTestingModule.withRoutes([]),
],
declarations: [
SomeComponent,
],
providers: [
SampleService,
],
})
.compileComponents()
}))
关于angular - 错误 : StaticInjectorError(DynamicTestModule)[RouterLinkWithHref -> Router]: (NullInjectorError: No provider for Router!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54415443/
我才刚刚开始学习如何使用 Angular 2 和 Ionic 3.20.0,但现在面临挑战。我正尝试在我的主页中显示产品图片,但该应用程序抛出此错误 ERROR Error: Uncaught (in
所以我正在尝试使用 DatePicker ,但是我得到了一个 StaticInjectorError 这是我尝试过的: import {Component} from '@angular/core';
我收到此错误,如下面的屏幕截图所示。 我在这里研究了几个类似的问题。最常见的建议是“将您的服务添加到您的应用模块的提供程序数组”。当我使用 Angular 元素编写 Web 组件时,我不会主动使用默认
我已经搜索了很多有关此错误的信息,但没有任何有用的信息,这种错误通常有角度地告诉您缺少提供程序的对象是什么,但是这次它给出了 StaticInjectorError(AppModule)[[objec
当我在 Angular 中使用表格元素时,有时会在浏览器的控制台中显示此错误 有什么问题? 我该如何解决? Angular HTML: name
你好,我收到这样的错误,这是什么原因? StaticInjectorError[Http]: StaticInjectorError[Http]: NullInjectorError: 没有 Http
运行 ng 测试 时完全错误: Error: StaticInjectorError(DynamicTestModule)[NotificationsComponent AuthService]:
使用 ASP.NET Core API 应用程序登录到 Angular 应用程序后,出现以下错误 Error: Uncaught (in promise): Error: StaticInjector
angular cli 创建的项目 Angular CLI: 1.7.2 Node: 6.11.4 OS: win32 x64 Angular: 5.2.7 ... animations, commo
从 Angular 5 迁移到 6 后,我遇到了静态注入(inject)器的问题。错误是: ERROR Error: StaticInjectorError(AppModule)[StorageSer
我最近将我的项目从 Angular5 更新到 Angular6。 该项目正在成功构建,但我在浏览器控制台中收到以下错误: Unhandled Promise rejection: StaticInje
我尝试在 Angular 中使用“providedin”功能,但收到错误“StaticInjectorError(AppModule)[DashboardComponent -> DashboardS
当我在浏览器中启动我的 Angular 5 页面时,我的浏览器控制台出现以下错误。 ERROR Error: StaticInjectorError(AppModule)[AppComponent -
我试图从我的 api 中提取数据,并将其填充到我的 ionic 应用程序中,但是当我进入应该填充数据的页面时它崩溃了。下面是我的两个 .ts 文件: import { Component } from
我已经加了RouterTestingModule到我的单元测试导入。但它仍然抛出以下错误。 唯一的区别是知道我的路由页面与规范不同。 我附上了我的代码以供引用。 我需要改变什么?或者我如何使用我的路由
我在我的 Ionic 4 应用程序中使用插件 '@ionic-native/bluetooth-serial/ngx' 与热敏打印机进行通信。如果我使用 android 7.1.1 为 android
我正在使用一个组件作为通过路由到达的常规组件,但我希望它在使用注入(inject)组件时也将其用作模式对话框的“目标”: export class Component1 implements OnIn
我正在构建一个新的 Angular (v6.0.1) 应用程序,并希望开始连接它以通过服务处理数据。我创建了一个新的提供程序,如下所示: @Injectable({ providedIn: '
我正尝试按照此链接中的说明向我的 Angular 应用程序添加分页: Go to "Content switching" 我这样做了: 在 app.module.ts 中: import { Pagi
我正在尝试手动注入(inject)HttpClientModule,它在 外部独立运行(可能是!)在使用静态注入(inject)器之前,我使用的是反射注入(inject)器并且代码工作正常,但现在反射
我是一名优秀的程序员,十分优秀!