gpt4 book ai didi

javascript - 如何使用 enzyme 对React中的选择元素是否具有焦点进行单元测试?

转载 作者:行者123 更新时间:2023-12-01 14:18:04 26 4
gpt4 key购买 nike

我在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伪选择器?

谢谢。

最佳答案

您应该考虑使用不同的单元测试套件。

https://github.com/airbnb/enzyme/issues/703

关于javascript - 如何使用 enzyme 对React中的选择元素是否具有焦点进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45379896/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com