我有一个 divonMouseOver
并将onMouseLeave
子 div 切换为下拉列表。我想使用酶测试悬停事件。
该组件的相关代码为:
<div className="search-category" onMouseOver={() => toggleDropdown(true)} onMouseLeave={() => toggleDropdown(false)}>
<div className="search-type">
...
</div>
{dropdownShown && <SearchMenu searchSections={searchSections} dispatch={dispatch} />}
</div>
相关的测试代码是
...
it('should toggle search type dropdown on mouse hover', () => {
expect(enzymeWrapper.find('.SearchMenu').exists()).toEqual(false);
enzymeWrapper.find('.search-category').simulate('mouseOver');
expect(enzymeWrapper.find('.SearchMenu').exists()).toEqual(true);
});
...
.SearchMenu
是SearchMenu
组件的类名。
toggleDropdown
是一个切换dropdownShown
标志的简单函数。
我面临的问题是,即使在调用之后.simulate
,expect
最后一行的返回值false
也应该返回true
。代码运行良好,因为我可以在浏览器和浏览器的元素选项卡中看到下拉列表。
如果需要更多详细信息,请告诉我。任何帮助将不胜感激。