在Angular 6应用上运行“ ng test”时出现一个失败:
失败:无法读取null的属性'textContent'
请参阅示例应用程序... SampleApp
问题似乎出在app.component.spec.ts文件上。请参阅下面的错误消息:
AppComponentTest > -> should render title in a h1 tag
Failed: Cannot read property 'textContent' of null
at <Jasmine>
at UserContext.eval (./src/app/app.component.spec.ts?:31:44)
at ZoneDelegate.invoke (./node_modules/zone.js/dist/zone.js?:387:26)
at AsyncTestZoneSpec.onInvoke (./node_modules/zone.js/dist/zone-testing.js?:712:39)
at ProxyZoneSpec.onInvoke (./node_modules/zone.js/dist/zone-testing.js?:284:39)
at ZoneDelegate.invoke (./node_modules/zone.js/dist/zone.js?:386:32)
at Zone.runGuarded (./node_modules/zone.js/dist/zone.js?:150:47)
at runInTestZone (./node_modules/zone.js/dist/zone-testing.js?:840:29)
at UserContext.eval (./node_modules/zone.js/dist/zone-testing.js?:774:17)
at ZoneDelegate.invoke (./node_modules/zone.js/dist/zone.js?:387:26)
at ProxyZoneSpec.onInvoke (./node_modules/zone.js/dist/zone-testing.js?:287:39)
答案 0 :(得分:1)
被测组件的设置包括CUSTOM_ELEMENTS_SCHEMA,它允许在模板中使用自定义标签元素,而无需通过实例化相关组件来使测试复杂化。结果,从父级测试子级组件中的元素失败。解决方案是将失败的测试规范移到适当的子组件中。