如何解决React中容器的单元测试案例
我试图在React中编写一个容器的测试用例。但是我被困在表单提交案例中。我无法在组件中传递操作。这是我的容器。
import React,{ useState,useEffect } from 'react'
import { connect } from 'react-redux'
import { bindActionCreators } from 'redux'
import Button from '@material-ui/core/Button'
import TextField from '@material-ui/core/TextField'
import isEmpty from 'lodash/isEmpty'
import { getLoggedInUser } from '../../api/user.api'
const Authenticate = (props,{ actions,history,user }) => {
const [username,setUsername] = useState('shubhra.vyas')
const [password,setPassword] = useState('1234')
useEffect(() => {
if (!isEmpty(user)) {
history.push('/dashboard')
}
},[user])
let login = e => {
e.preventDefault()
actions.getLoggedInUser({ username,password })
}
return (
<div>
<form onSubmit={login}>
<div>
<TextField
id='userName'
label='User Name'
type='text'
value={username}
onChange={(e) => setUsername(e.target.value)}
/>
</div>
<div>
<TextField
id='password'
label='Password'
type='password'
value={password}
onChange={(e) => setPassword(e.target.value)}
/>
</div>
<Button variant='contained' type='submit' color='primary'>
Login
</Button>
</form>
</div>
)
}
const mapStatetoProps = (state) => {
return {
user: state.user
}
}
const mapdispatchToProps = (dispatch) => {
return {
actions: bindActionCreators(
{
getLoggedInUser,},dispatch,),}
}
export default connect(mapStatetoProps,mapdispatchToProps)(Authenticate)
我正在使用redux-thunk,redux-mock-store酶进行测试。
非常感谢您的回复。花了很多时间。预先感谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。