我可以从react类导出类和函数。 下面是我的课程,我正在尝试导出onKeyHandler进行单元测试。我尝试只是在onKeyHandler之前添加export,但是我的lint不喜欢那样。我将如何导出一个默认值和另一个导出功能以进行测试。
import React, { Component } from 'react';
class MyComponent extends Component {
onKeyHandler = ({ target, keyCode }) => {
};
render() {
return (
<div>
sdfsdfds
</div>
);
}
}
export default MyComponent;
答案 0 :(得分:0)
要导出函数,该函数必须在类之外。但是您可以测试而无需导出。
尝试使用sinon
// import
import 'sinon' from sinon.
// in your test case
let onKeySpy = sinon.spy(MyComponent, "onKeyHandler");
// logic goes here
expect(onKeySpy.called).toBeTrue();
我还没有尝试过,但是应该可以。您也可以用类似的方式监视jest.spyOn()
。
如果需要对方法进行存根,则可以使用prototype
let onKeyStub = sinon.stub(MyComponent.prototype, "onKeyHandler");