小编Pau*_*gan的帖子

Jest onSpy无法识别React组件功能

尽管尝试了一切,但这个让我完全感到困惑。

我正在用Jest / Enzyme测试React组件。此测试模拟修改元素,然后调用onChange方法。

当我运行测试时,我从Jest获得此信息:

因为它不是函数,所以无法监视onChange属性。未定义给定

为什么??

以下是组件的关键部分:

import React, {Component} from 'react';
import EntitiesPulldown from './entities-pulldown'

class NewTransactionForm extends Component  {

constructor(props) {
   super(props);

   this.state = {
       amount: "0.00",
       investors_4_picklist: [],
       selectedTType:0      
   };

   this.onChange = this.onChange.bind(this);
} 

onChange(event) {
      const value = event.target.value;
      const name = event.target.name;

      this.setState({
        [name]: value
      });
      console.log("just set "+name+"  to  "+value)

}

render() {
return (  
      <div>
           <EntitiesPulldown                                                                           
               itemList = {this.state.investors_4_picklist}                                                                                                                                                      
               handleChangeCB = {this.onChange}
             />
      </div>
  )
 }
}
export default NewTransactionForm;
Run Code Online (Sandbox Code Playgroud)

非常简单。这是测试:

test('NTF …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs jestjs enzyme

7
推荐指数
1
解决办法
1740
查看次数

标签 统计

enzyme ×1

javascript ×1

jestjs ×1

reactjs ×1