Can't bind to 'matMenuTriggerFor' since it isn't a known property of 'button'

RV. picture RV. · Jun 16, 2018 · Viewed 33.4k times · Source

I'm getting following error when I try to test an angular component:

Error while running jest tests:

Can't bind to 'matMenuTriggerFor' since it isn't a known property of 'button'.

Here is my html:

<button mat-button [matMenuTriggerFor]="menu">Menu</button>
<mat-menu #menu="matMenu">
  <button mat-menu-item>Item 1</button>
  <button mat-menu-item>Item 2</button>
</mat-menu>`

I'm using "@angular/material": "6.1.0", in my package.json. I've also imported all the required material dependencies in the beforeAll block under TestBed I also tried changing the property of the button from matMenuTriggerFor to mat-menu-trigger-for. It didn't work.

Please suggest how can I fix this test.

Answer

Sajeetharan picture Sajeetharan · Jun 16, 2018

Import MatMenuModule in your feature Module OR the Module where this component resides in.

 import { MatMenuModule} from '@angular/material/menu';

and

imports: [
  MatMenuModule
]