业力单元测试错误:模块导入的意外值。请添加@NgModule批注

问题描述 投票:6回答:2

我通过以下方式创建了一个新的组件:

ng g mytest1

然后我将构造函数行更改为此:

constructor(private dialogRef: MatDialogRef<Mytest1Component>) { }

,并添加了所需的导入:

import { MatDialogRef } from '@angular/material';

此后,我通过以下方式运行了业力单元测试项目:

ng test

测试失败。我收到此错误消息:

错误:StaticInjectorError(DynamicTestModule)[Mytest1Component-> MatDialogRef]:StaticInjectorError(平台:核心)[Mytest1Component-> MatDialogRef]:NullInjectorError:没有MatDialogRef提供者!

要解决我在beforeEach部分中添加了Import语句的问题:

import { MatDialogRef } from '@angular/material';

//...

beforeEach(async(() => {
    TestBed.configureTestingModule({
        declarations: [ Mytest1Component ],
        imports: [MatDialogRef],
    })
    .compileComponents();
}));

现在我遇到了这个新错误,我无法修复:

失败:模块'DynamicTestModule'导入了意外的值'MatDialogRef'。请添加@NgModule批注。

有人可以澄清我应该在哪里添加@NgModule注释,或者我做错了什么?

谢谢。

angular electron karma-jasmine ng-modules
2个回答
10
投票
您正在组件中注入MatDialogRef

0
投票
用途:
© www.soinside.com 2019 - 2024. All rights reserved.