Reactjs 如何确定方法“;模拟&x201D;将在1个节点上运行。取而代之的是在玩笑中找到0
我正在Reactjs中使用jest编写一个测试用例,但是失败了,它给出了错误Reactjs 如何确定方法“;模拟&x201D;将在1个节点上运行。取而代之的是在玩笑中找到0,reactjs,jestjs,Reactjs,Jestjs,我正在Reactjs中使用jest编写一个测试用例,但是失败了,它给出了错误方法“simulate”应该在1个节点上运行。而是找到了0。我已经通过参考本文实现了测试用例 组成部分 render() { const { errors } = this.state; return ( <div style={{backgroundColor:'linear-gradient(RGBA(182,82,80))' , height:'50vh
方法“simulate”应该在1个节点上运行。而是找到了0
。我已经通过参考本文实现了测试用例
组成部分
render() {
const { errors } = this.state;
return (
<div style={{backgroundColor:'linear-gradient(RGBA(182,82,80))' , height:'50vh'}}>
<Container className='mt-5 mb-3 ' style={{width:'40em',height:'36em',backgroundColor:"White",borderRadius:'20px'}}>
<form noValidate onSubmit={this.onSubmit} className='login'>
<div className="form-group">
<label>Email</label>
<input type="text" className="form-control" placeholder="Email"
onChange={this.onChange}
value={this.state.email}
error={errors.email}
id="email"
name="email"
className={classnames("", {
invalid: errors.email || errors.emailnotfound
})}
/>
<span className="red-text">
{errors.email}
{errors.emailnotfound}
</span>
</div>
</form>
</Container>
<Footer/>
</div>
);
}
render(){
const{errors}=this.state;
返回(
电子邮件
{errors.email}
{errors.emailnotfound}
);
}
测试用例
import React from 'react';
import {shallow} from 'enzyme';
import login from '../Components/login';
describe('Test case for testing login',() =>{
it('username check',()=>
{
wrapper = shallow(<login/>);
wrapper.find('input[type="text"]').simulate('change', {target: {name: 'email', value: 'krishankantsinghal'}});
expect(wrapper.state('email')).toEqual('krishankantsinghal');
})
})
从“React”导入React;
从“酶”导入{shall};
从“../Components/login”导入登录名;
描述('测试登录的测试用例',()=>{
它('用户名检查',()=>
{
包装器=浅();
find('input[type=“text”]”)。simulate('change',{target:{name:'email',value:'krishantsinghal'});
expect(wrapper.state('email')).toEqual('krishantsinghal');
})
})
可能的错误是什么?我怎样才能解决这个问题?提前感谢小写的组件名称应该用于浏览器的本地元素,如
span
或表
。当它是
import Login from './login.jsx';
...
... shallow(<Login ........)