コンポーネントをテストするためにこのコードを作成します。
私はこのコードを試しました:
describe('Component: AddAlarms', () => {
let component: AddAlarmsFormComponent;
let fixture: ComponentFixture<AddAlarmsFormComponent>;
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [AddAlarmsFormComponent]
});
fixture = TestBed.createComponent(AddAlarmsFormComponent);
component = fixture.componentInstance;
});
});
実行時ng test
このエラーを表示:
Failed: Template parse errors:
'mat-checkbox' is not a known element:
1. If 'mat-checkbox' is an Angular component, then verify that it is part of this module.
2. If 'mat-checkbox' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
</div>
<div class="input-field col s2">
[ERROR ->]<mat-checkbox class="example-margin" (click)="sortbydate()">Dates</mat-checkbox>
</div>
"): ng:///DynamicTestModule/NotificationsComponent.html@12:10
私はmodule.tsを確認し、それで問題ありません。だから、私はこれを持っています:
import {MatCheckboxModule} from '@angular/material/checkbox';
何が問題ですか?
次のように、imports
配列をdeclarations
の上に追加する必要があります。
次のように追加します。
import { MatCheckboxModule } from '@angular/material/checkbox';
そして、次のようにimports
配列を追加します:
TestBed.configureTestingModule({
imports: [
MatCheckboxModule
],
declarations: [AddAlarmsFormComponent]
})
すごい!
しかし、MatCheckboxModule
をspec.ts
にインポートする必要があるか、ngModule
の"imports"
にモジュールをインポートするのを忘れたと思います。
うまくいったかどうか教えていただけますか?