我看到许多测试真实DOM元素的单元测试示例。
例如:
expect(vm.$el.querySelector('div').textContent).toBe('xxx')
检查DOM元素文本的目的是什么?
有人说您可以测试计算值,但不是使用nextTick
测试的计算值吗?
另外,人们说HTML标签会影响元素的文本:
<htmlTag><a><p>{{user.name}}</p></a></htmlTag>
如果产品有多种语言怎么办?
我认为我们应该测试应该在HTML模板中正确显示的数据,状态,函数和元素。
你们在Vue的单元测试中做了什么?
答案 0 :(得分:1)
你提出了不同的问题,但我会尽力回答“一般问题”。关于DOM中的单元测试的问题。
DOM元素中的单元测试对于不同的原因可能很有用,但最重要的通常是:
测试简单的用户操作
简单用户操作的示例:
单击切换DOM元素可见性的链接 提交触发表单验证的表单(...)这些 通过模拟DOM事件可以轻松测试操作
分析网络特征
操纵JavaScript以确定浏览器中的各种网络特征。示例here
测试DOM突变&amp;操作强>
一个很好的例子解释了here
正如你所说,直接测试状态/变量/方法更好,但有时它是真实或虚拟DOM的唯一方式。
要了解详情,您可以查看关于GitHub的这个(精彩)指南Unit Testing in JavaScript
here
希望它澄清并帮助你!