【发布时间】:2019-02-04 14:30:05
【问题描述】:
我正在尝试为 React JS 运行单元测试 - 使用 jest / 酶。
目前测试失败。不确定为什么,也许我没有正确调用expect(wrapper.find)。这是我的测试的一部分:
File.test.js
it('renders modal when open flag is true', () => {
const props = { isOpen: true };
const wrapper = mount(
<div id="root">
<Component {...props} />
</div>
);
wrapper.update();
expect(toJson(wrapper)).toMatchSnapshot();
expect(wrapper.find('.loa-download-header').exists()).toEqual(true);
expect(wrapper.text()).toContain(' Please enter a password.');
});
});
这是 File.js 的一部分 显示一段我正在尝试测试的代码作为示例。
render() {
return (
<Modal
<div title="Close Window" className="add-custom-field-close" onClick={() => {this.closeModal()}}><FontAwesome name='xbutton' className='fa-times' /></div>
</div>
</div>
<div className='loa-download-header-wrapper'>
<div className='loa-download-header'>
Please enter a password.
</div>
错误:expect(received).toEqual(expected)
Expected value to equal:
true
Received:
false
对代码的任何更正都会非常有帮助,谢谢
【问题讨论】:
-
您之前是否尝试过删除空格 Please "expect(wrapper.text()).toContain(' Please enter a password.');"?
-
@MadTech 错误指的是这一行:expect(wrapper.find('loa-download-header').exists()).toEqual(true);我确实删除了空间 - 我仍然收到错误
-
你可以尝试debig它
node --inspect-brk node_modules/.bin/jest --runInBandjestjs.io/docs/en/troubleshooting -
@ChotalaParesh 代码看起来对吗?
标签: reactjs unit-testing jestjs