reactjs - 检查组件中是否存在某个类或某个节点的最小可重现示例?不是快照测试
问题描述
嗨,我有一个组件 tripDetails 及其关联的测试文件
import React from 'react';
import { shallow } from 'enzyme';
import toJSON from 'enzyme-to-json';
import tripDetails from './index';
const defaultProps = [
{
tripLinkText: 'Book an airport transfer'
}
{
tripLinkText: 'Book an Hotel transfer'
}
]
describe('trip card section', () => {
it('testing', () => {
const wrapper = shallow(<tripDetails {...defaultProps} />);
expect(toJSON(wrapper)).toMatchSnapshot();
});
});
但我需要检查是否存在某些元素。我不想要快照测试,除了我能测试什么?如果是这样,我将如何写
也试过这个
import React from 'react';
import { expect } from 'chai';
import { render } from 'enzyme';
import Foo from './Foo';
describe('<Foo />', () => {
it('renders three `.foo-bar`s', () => {
const wrapper = render(<Foo />);
expect(wrapper.find('.foo-bar')).to.have.lengthOf(3);
});
但它给出的错误 MobX 注入器:存储“上下文”不可用!确保它是由某个 Provider 提供的
解决方案
1.要在渲染组件中查找元素,您需要find
在包装器上使用运算符。
2. 使用 shallow 来渲染你的组件。
let wrapper = shallow(<Component />);
const element = wrapper.find('.yourClass');
希望能帮助到你!!
推荐阅读
- android - 在没有虚拟设备的情况下测试我的 OpenGL ES 3.2 应用程序?
- firebase - Glide 4.11.0 中的 SSLHandshakeException(Connection closed by peer),同时显示来自 firebase 存储的图像
- c - Const Struct 与 Struct 与 Const 成员
- python - 单击按钮后无法显示标签在python中使用PyQt5
- python - 结束程序后发生的奇怪的键盘中断错误
- python - 我对 json 变量设置有疑问
- javascript - Node.js(Typescript)中的 child_process.spawnSync 在 Windows 上不起作用
- javascript - 某些东西正在向我的 html 添加跨度,我不确定是什么
- git - 重置并从主分支签出到功能分支后,git 文件仍处于修改状态
- memory-leaks - 释放设备上的 cl::Buffer 和内存泄漏