Kou*_*sha 5 javascript reactjs enzyme
假设我的React组件中有一个方法:
doSomething() {
// method uses this.props and this.state
}
Run Code Online (Sandbox Code Playgroud)
我想针对不同的道具和设置状态测试此方法.那我该怎么称呼呢?MyClass.prototype.doSomething将调用该函数,但然后this.props并且this.state未设置.
小智 20
您可以使用酶的instance函数来获取渲染组件的实例,并在其上调用方法.
const wrapper = shallow(<MyClass {...props} />)
wrapper.instance().doSomething()
Mat*_*bst -6
注意:下面@Tyler的答案是更好的解决方案
您可以只使用您想要使用apply的值:this
// MyClass.prototype.doSomething() becomes
var mockThis = {
props: { coolProp: 'coolValue1' },
state: { coolStateKey: 'coolValue2' }
};
MyClass.prototype.doSomething.apply(mockThis);`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8153 次 |
| 最近记录: |