AngularJS单元测试中没有组件内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AngularJS单元测试中没有组件内容相关的知识,希望对你有一定的参考价值。

我的设置是AngularJS 1.5 +,jasmine,karma,问题在于测试组件和它的模板。问题是在编译组件的模板后,它没有应该的内容。

请考虑以下测试代码段:

const ELEMENT_html = '<some-component></some-component>';
const scope = $rootScope.$new();
const markup = angular.element(ELEMENT_HTML);
const component = $compile(markup)(scope);
$scope.$digest();
console.log(component);

some-component的模板可以包含任何内容。 console.log仅输出我在片段中指定的ELEMENT_HTML,没有组件本身的内容。当你在ELEMENT_HTML中放入任何其他常规HTML元素时会发生这种情况,但在这里我希望看到我使用的组件的完整内容。

这可能是使用不正确的模块的问题,但使用$componentController测试工作正常。它只是编译它并与模板一起测试它是一个问题。

我很乐意提供更多数据,我只需知道什么可能有用。

最好的祝福,

托马斯。

答案

新的一天,新的机会和想法。事实证明,存在一些未实现的模块依赖性。我想知道为什么它与$componentController一起工作,为什么在控制台中没有反馈意见有些不对劲。

无论如何,案件结案。

以上是关于AngularJS单元测试中没有组件内容的主要内容,如果未能解决你的问题,请参考以下文章

带有茉莉花的AngularJS 2单元测试组件面临错误,无法读取null的属性'firstChild'

Angularjs单元测试-将文本添加到textarea时禁用ng的不起作用

单元测试混合 Angular Js 和 Angular 8 应用程序

初入AngularJS基础门

在 Jasmine 单元测试中模拟 AngularJS 模块依赖项

AngularJs单元测试