如何运行包含对静态方法的调用的快照测试?

时间:2019-02-11 08:30:18

标签: reactjs jestjs

在我的react / jest单元测试中,我试图调用一个名为getSortedAppColumns()的静态方法,这是组件的一部分:

static getSortedAppColumns = (appColumns, sortBy, criticalFirst) => {
...
return { id, applications: applicationsSorted, ...rest };
});
};

当我运行此测试时:

it('should sort', () => {
    const presets = { presets: { sortCriteria: 'name' } };
    const component = (
      <AppTrackerContainer applicationStages={applicationStages} {...presets} />
    );
    const wrapper = shallow(component);
    const instance = wrapper.instance();
    const appList = applicationStages[0].applications;
    expect(instance.getSortedAppColumns(appList)).toMatchSnapshot();
});

我当然有这个错误:

TypeError: instance.getSortedAppColumns is not a function

  45 |     const instance = wrapper.instance();
  46 |     const appList = applicationStages[0].applications;
> 47 |     expect(instance.getSortedAppColumns(appList)).toMatchSnapshot();

很明显,静态方法不是实例,但是如何在我的jest snapshottest中利用此静态调用?需要进行快照测试作为底线。

1 个答案:

答案 0 :(得分:2)