3
我正在测试反应组件,并需要模拟组件内特定元素的单击。我不想仅仅为了测试而添加id
,有没有办法通过文本选择这个元素?通过来自React组件的文本选择DOM元素
const ReactTestUtils = require('react-test-utils');
const Sidebar = require('components/sidebar');
describe('clicking on More button', function() {
it('triggers analytics event', function() {
const component = renderComponent(<Sidebar policyPreferences={ this.policyPreferences } />);
const moreButton = component.getDOMElementByText('More'); // <- I need something like this
ReactTestUtils.Simulate.click(moreButton);
expect(analytics.track).toHaveBeenCalled();
}
}
你可以写一个使用.innerHTML() –
感谢@ChrisWissmach功能。任何想法如何使用'.innerHTML()'选择该元素? –