![](/img/trans.png)
[英]How to unit test a higher order component using jest and enzyme in react
[英]How to unit test if a select element in React has focus using Enzyme?
我在React中有一个下拉组件,它呈现带有标签和一些选项的select元素。 这是我的测试的样子:
import React from 'react';
import { shallow, mount } from 'enzyme';
import Dropdown from './Dropdown';
describe('Dropdown', () => {
it('should be focused on label click', () => {
const wrapper = mount(
<div>
<label htmlFor={'dropdownId'}>Sort by: </label>
<Dropdown
id="dropdownId"
options={[
{ key: '', display: 'Please select a value' },
{ key: 'NJ', display: 'New Jersey' },
{ key: 'NY', display: 'New York' },
]}
/>
</div>,
);
const dropdownLabel = wrapper.find('label');
const dropdownSelect = wrapper.find(Dropdown);
dropdownLabel.simulate('click', {});
expect(dropdownSelect.is(':focus')).toBe(true);
});
});
我正在尝试模拟标签上的单击以测试select元素是否具有焦点,但是得到以下错误: TypeError: Enzyme received a pseudo-class CSS selector (':focus') that it does not currently support in tests.webpack.js
我正在使用PhantomJS 2.1.1
版
有没有办法复制测试的目的,而不使用CSS伪选择器?
谢谢。
您应该考虑使用不同的单元测试套件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.