Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用jest检查回调方法中的道具_Reactjs_Jestjs_Enzyme - Fatal编程技术网

Reactjs 使用jest检查回调方法中的道具

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

我已经开始开玩笑地写测试用例了,我对它还不熟悉。我有一个回调函数,以res作为参数,并根据条件显示道具

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不,您不需要运行应用程序。