我通过以下方式创建了一个新的组件:
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注释,或者我做错了什么?
谢谢。
MatDialogRef
: