Reactjs 使用jest检查回调方法中的道具
我已经开始开玩笑地写测试用例了,我对它还不熟悉。我有一个回调函数,以res作为参数,并根据条件显示道具Reactjs 使用jest检查回调方法中的道具,reactjs,jestjs,enzyme,Reactjs,Jestjs,Enzyme,我已经开始开玩笑地写测试用例了,我对它还不熟悉。我有一个回调函数,以res作为参数,并根据条件显示道具 myModalCallback = (res) => { this.props.myCallBack ? this.props.myCallBack(res) : () => { }; } 我的测试用例: const myModalCallback = ({ res }) => ( expect(Filler.props().myCallBack).toBeDe
myModalCallback = (res) => {
this.props.myCallBack ? this.props.myCallBack(res) : () => { };
}
我的测试用例:
const myModalCallback = ({ res }) => (
expect(Filler.props().myCallBack).toBeDefined());
但是我得到了(res)/没有得到保障。有什么方法可以测试它吗?因为问题中有部分代码,我模仿了myModalCallback和this.props,请看下面的测试用例。在jest上测试并运行它,所有测试用例都以100%覆盖率通过
const myModalCallback = function(res) {
this.props.myCallBack ? this.props.myCallBack(res) : () => {};
};
describe("myModalCallback", function() {
it("returns undefined when myCallback is not defined", () => {
expect(myModalCallback.bind({ props: {} })()).toBeUndefined();
});
it("returns undefined when myCallback is not defined", () => {
const myCallBack = jest.fn();
myModalCallback.bind({ props: { myCallBack } })(1);
expect(myCallBack).toHaveBeenCalled();
expect(myCallBack.mock.calls[0][0]).toBe(1);
});
});
代码沙盒链接,在该链接中运行此测试并通过所有案例。
您是否运行了此测试用例。因为我在代码沙盒上试过了,效果很好。如果您做了一些更改,它们是什么?我没有做任何更改,我们是否必须在运行测试用例的同时运行应用程序?@HemaNandagopal不,您不需要运行应用程序。