html - 用于查找的嵌套包装器 如何查找 HTML 元素是否存在?
问题描述
我目前正在编写一个单元测试,我正在尝试使用 wrapper.find 来查找子 HTML 元素
我尝试使用 wrapper.find(element).find(element).exists()).toBe(true); 但是结果总是返回 false。当我尝试分别查找每个元素时,测试返回 true。
我正在测试的内容:
if(brand === Nike) {
<div className="test">
<p>Hello world</p>
</div>
} else {
<div className="test"></div>
}
我目前的测试(测试品牌是耐克):
expect(wrapper.find('.test').find('p').exists()).toBe(true);
我之前已经定义了包装器(如前所述,单独测试工作,当我尝试嵌套发现它没有)
我希望输出返回真,因为品牌等于耐克。但它总是返回假。
解决方案
在我看来,一个更简单的解决方案是:
expect(wrapper.find('.test p')).not.toBeUndefined();
嵌套查找不是必需的。
还有,品牌检查,是耐克的一个元素吗?如果它是一个字符串,你应该检查它作为一个字符串:
if (brand === 'Nike') { ...
推荐阅读
- c - 在Linux下的实践中,信号驱动的I/O实际上是否被epoll弃用了?
- mongodb - CosmosDB MongoDB API 似乎没有使用自动创建的索引
- angular - 在 Angular 的扩展面板内动态设置内容
- sql-server - 父子关系层次结构(多个子级) - SQL Server
- c# - JSON 异常反序列化为正确的类型
- angular - 到具有不同参数的相同组件的角度路由
- c++ - 堆栈概念有错误
- odata - Odata Webapi - 如何在 7.0 核心中注入 ODataResourceDeserializer?
- excel - Dateadd 函数不做半小时增量
- c# - 如何使用 LINQ 查找集合中的重叠(不是重复,而是查找重叠)