无法绑定到'consoleMessages',因为它不是'app-console'的已知属性

问题描述 投票:0回答:1

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

无法绑定到'consoleMessages',因为它不是'app-console'的已知属性。

  1. 如果'app-console'是一个Angular组件并且它有'consoleMessages'输入,那么请验证它是否是该模块的一部分。
  2. 如果'app-console'是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
      })
angular unit-testing jasmine
1个回答
1
投票

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

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

我的猜测是,有几件事情正在发生:

  1. consoleMessages财产未被定义为AppConsole类的公共财产。
  2. 您尚未在测试工具中正确配置AppConsole。你的测试工具中有模块吗?