javascript - 简单的 React 按钮测试失败
问题描述
我用 jest 来测试 React 中的一个简单按钮,但它一直失败。我最新的迭代抱怨渲染。我是测试新手,我已经有一段时间了,无法弄清楚。我在这里想念什么?
这是我的App.js
function clickMe() {
alert("Hello")
}
function App() {
return (
<div className="App">
<button id="btn" onClick={clickMe}>Click Me!!</button>
</div>
)
}
export default App;
这是我的App.test.js
import React from 'react'
import {render} from 'react-dom'
import App from './App'
test("Click", () => {
const {container} = render(<App />)
const button = getByTestId(container, 'btn')
fireEvent.click(button)
})
解决方案
您可以使用酶库模拟一些事件
为此,首先通过 npm 安装它,然后导入
import {shallow} from 'enzyme';
使用此结构模拟点击底部后
创建包装器
let wrapper = shallow(<App />);
beforeEach( ()=>{
wrapper = shallow(<CounterApp />);
});
这会创建渲染组件的模拟并让您能够模拟事件,这种方法在我的项目 counterApp 中工作
test('Click', ()=>{
wrapper.find('button').at(0).simulate('click');
expect(//The action of your botton).toBe(//the result expected);
});
推荐阅读
- android - chrome 检查器,远程调试在我的移动应用程序上不再正常工作
- r - Why can't I fit a curve to this plot?
- python - 是否可以使用环境变量覆盖 uwsgi ini 文件
- android - android volley 给客户端错误代码 400
- javascript - 使用 oncontextmenu 和 js/jquery 左键单击上下文菜单
- ld - 与 GCC 链接未检测到 -fPIC 标志
- css - 在 WordPress 父主题中覆盖 !important
- keycloak - 如何激活keycloak的REST API?
- python - Python 脚本无法访问某些环境变量
- php - PhpStorm 自动完成 STD 对象不起作用