用开玩笑的酶嘲笑功能在屏幕加载时运行

时间:2019-09-02 14:34:34

标签: reactjs unit-testing mocking jestjs

有一个在屏幕加载时运行的功能。我需要模拟该函数以覆盖代码。测试已通过,但未更改的状态未更改。

  

未发现的行是:else return [];

filterPermissionOwner = ownerTypeID => {
    let row = this.props.permissionOwner.payload.filter(item => item.ownerTypeID === ownerTypeID);

    if (row.length > 0) return [row[0].roleUID];
    else return [];
  };

//Unit Test Code : 
it("filterPermissionOwner", () => {
            wrapper = shallow( < PermissionDetail { ...props
                }
                />);
                const instance = wrapper.instance(); instance.filterPermissionOwner = jest.fn().mockImplementation((ownerTypeID) => {
                    return [];
                }); instance.filterPermissionOwner(-1); expect(instance.filterPermissionOwner).toHaveBeenCalled();
            });
  

预期:否则返回[];行应该被覆盖。

     

实际:行未覆盖。

0 个答案:

没有答案