reactjs - 如何检查具有特定类的元素?
问题描述
我的测试代码有
<div className="foo">
{this.props.foo ? "foo!" : ""}
</div>
我想像这样测试它:
it('shows no foo by default', () => {
const wrapper = mount(
<MyComponent/>
);
expect(wrapper).to.containMatchingElement(
<div class="foo"/>
);
});
但是,它永远不会找到元素并且测试失败,即使输出显示了我的元素:
AssertionError:预期
<MyComponent />
包含匹配项<div class="foo" />
HTML: ... <div> <div class="foo"></div> </div>
如何断言<div>
具有给定类的在输出中?
解决方案
it('shows no foo by default', () => {
const wrapper = shallow(
<MyComponent />
);
expect(wrapper.find(".foo")).doTestHere(
<div class="foo"/>
);
});
试试这个。
你想尝试的方式应该是这样的
expect(wrapper.containsMatchingElement(<div class="foo"></div>)).to.equal(true);
你写了不完整的测试
推荐阅读
- python - Python文件夹创建和读取文本文件
- spring - 如何使用依赖于 Spring Security 的其他 bean 的过滤器配置 WebSecurityContext?
- nginx - 如何在 nginx 中将动态子域重写为路径 URI?
- mongodb - 如何将 mongo-kafka 连接器作为 kafka 的源运行并将其与 logstash 输入集成以使用 elasticsearch 作为接收器?
- javascript - 将活动类添加到锚标签
- c# - 如何查看存储在剃须刀页面根文件夹中的doc文件
- powerbi - 将固定目标列添加到幂 bi 矩阵
- python-3.x - 如何使用 django rest 框架同时上传 json 数据和文件
- python - 如何更改用户 vc 权限以管理频道 [discord.py]
- javascript - 导航返回后保留参数的正确方法是什么?