无法绑定到"控制台消息",因为它不是 'app-console' 的已知属性



我在单元测试角度应用程序时收到以下错误消息

无法绑定到"控制台消息",因为它不是"应用程序控制台"的已知属性。

  1. 如果"app-console"是一个 Angular 组件,并且它有"consoleMessages"输入,那么请验证它是否是此模块的一部分。
  2. 如果"应用程序控制台"是 Web 组件,则将"CUSTOM_ELEMENTS_SCHEMA"添加到此组件的"@NgModule.schemas"以禁止显示此消息。
  3. 要允许任何属性,请将"NO_ERRORS_SCHEMA"添加到此组件的"@NgModule.schemas"中。(">
  <br>
     <app-console [ERROR ->][consoleMessages]="consoleMessages"></app-console>
      </div>"): ng:///DynamicTestModule/EntitlementCreateComponent.html@135:15
      'app-console' is not a known element:

TestBed.configureTestingModule({
   imports:[HttpClientTestingModule,RouterTestingModule,FormsModule,ReactiveFormsModule],
   declarations: [EntitlementCreateComponent,NGXSpinner],
   //schemas: [ NO_ERRORS_SCHEMA] //Note schemas is commenented
      })

收到错误的原因是引用了app-console自定义元素的 consoleMessages 属性。并且角度编译器找不到该属性。

CUSTOM_ELEMENTS_SCHEMA定义一个架构,其中包含非角度的自定义元素。因此,通过添加该架构,您告诉 angular 忽略对该元素的类型检查。这可能不是你想要的。

我的猜测是正在发生以下几件事之一:

  1. consoleMessages属性未定义为 AppConsole 类上的公共属性。
  2. 未在测试工具中正确配置AppConsole。您是否在测试工具中设置模块?

最新更新