web-dev-qa-db-ja.com

エラー:失敗:テンプレート解析エラー: 'mat-checkbox'は既知の要素ではありません

コンポーネントをテストするためにこのコードを作成します。

私はこのコードを試しました:

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';

何が問題ですか?

11
user9699663

次のように、imports配列をdeclarationsの上に追加する必要があります。

次のように追加します。

import { MatCheckboxModule } from '@angular/material/checkbox';

そして、次のようにimports配列を追加します:

TestBed.configureTestingModule({
   imports: [
        MatCheckboxModule
   ],
   declarations: [AddAlarmsFormComponent]
})
7
Sangwin Gawande

すごい!

しかし、MatCheckboxModulespec.tsにインポートする必要があるか、ngModule"imports"にモジュールをインポートするのを忘れたと思います。

うまくいったかどうか教えていただけますか?

0
Chiien