Я создал новый новый компонент через:
ng g mytest1
Затем я изменил строку конструктора следующим образом:
constructor(private dialogRef: MatDialogRef<Mytest1Component>) { }
и добавил необходимый импорт:
import { MatDialogRef } from '@angular/material';
После этого я запустил проект модульного тестирования Karma с помощью:
ng test
Проверка не удалась.Я получил это сообщение об ошибке:
Ошибка: StaticInjectorError (DynamicTestModule) [Mytest1Component -> MatDialogRef]: StaticInjectorError (Платформа: ядро) [Mytest1Component -> MatDialogRef]: NullInjectorError: Нет провайдера!*
Чтобы исправить это, я добавил оператор Import в раздел beforeEach:
import { MatDialogRef } from '@angular/material';
//...
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ Mytest1Component ],
imports: [MatDialogRef],
})
.compileComponents();
}));
Теперь я получил эту новую ошибку, которую я не могу исправить:
Сбой: неожиданное значение 'MatDialogRef', импортированное модулем 'DynamicTestModule'.Пожалуйста, добавьте аннотацию @NgModule.
Может кто-нибудь уточнить, где я должен добавлять аннотацию @NgModule, или я сделал что-то совершенно неправильное?
Спасибо.