当我尝试测试角度分量时,我遇到了以下错误:
运行jest测试时出错:
Can't bind to 'matMenuTriggerFor' since it isn't a known property of 'button'.
这是我的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>`
我在package.json中使用"@angular/material": "6.1.0",
。
我还在beforeAll
下的TestBed
块中导入了所有必需的材料依赖项
我还尝试将按钮的属性从matMenuTriggerFor
更改为mat-menu-trigger-for
。它不起作用。
请建议我如何修复此测试。
答案 0 :(得分:30)
在功能模块或此组件所在的模块中导入 MatMenuModule
。
import { MatMenuModule} from '@angular/material/menu';
和
imports: [
MatMenuModule
]
答案 1 :(得分:2)
随机性,以防万一有人像我这样搜索:我正在导入一个自定义的角度材质库并在构建材质库之前先构建消费库。当我首先构建材质库时,使用库将要看到MatMenuModule,并且错误消失了。
我改变了
"library:build": "npm run ng7-common:build" && npm run ng8-material:build
收件人:
"library:build": " npm run ng8-material:build && npm run ng7-common:build"
答案 2 :(得分:1)
我认为您需要将MatMenuModule导入添加到app.module文件中。
答案 3 :(得分:0)
检查拼写,我在单词g
中有一个trigger
导致了我的错误
[matMenuTrigerData] => [matMenuTriggerData]
答案 4 :(得分:0)
我得到了这个错误(以及其他一些错误),因为我未能将组件添加到declarations
文件的lib.module.ts
数组中。
答案 5 :(得分:0)
运行jest
测试时出现此错误。我必须在MatMenuModule
的导入数组中添加TestBed.configureTestingModule
才能解决此错误。