首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Angular应用中验证HTML模板?

如何在Angular应用中验证HTML模板?
EN

Stack Overflow用户
提问于 2018-11-20 23:14:04
回答 1查看 47关注 0票数 0

我正在为一个Angular应用编写karma/jasmine单元测试。其思想是验证HTML模板是否有效。

假设有一个简单的组件"my-comp“。假设我使用下面的HTML模板,它调用了一个不存在的属性:

代码语言:javascript
运行
复制
<my-comp [noop]="dummy"></my-comp>

在应用程序执行期间,我会得到一个模板解析错误:

代码语言:javascript
运行
复制
Can't bind to 'noop' since it isn't a known property of 'my-comp'.

现在,我想在测试过程中检查一下。然而,单元测试通过了,组件被初始化了。

有没有办法在测试中检测到这种错误?

EN

回答 1

Stack Overflow用户

发布于 2018-11-21 00:58:25

这对于角度组件和测试来说是正常的。

在本例中,如果不为组件提供@Input()noop[noop]=dummy将无法工作。不存在这样的属性,因此编译将失败。

但是,在测试过程中,当您这样做时

代码语言:javascript
运行
复制
line1  const fixture = TestBed.createComponent(MyComponent);
line2  const component = fixture.componentInstance; 

这将根据您在component.ts中的定义生成一个组件,因此,您看不到任何故障。

如果您在VS项目上设置了linter,您将注意到,如果您在line2之后添加:component.noop,那么测试文件中将会出现错误,因为您的组件上不存在此属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53396036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档