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

问题描述 投票:0回答:1

在我的反应/笑话单元测试我试图调用一个静态方法称为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();

显然,一个静态方法不是一个实例,但我怎么能利用我在开玩笑snapshottest这个静态调用?需要有一个快照测试是底线。

reactjs jestjs
1个回答
2
投票

AppTrackerContainer.getSortedAppColumns(appList)

js call static method from class

© www.soinside.com 2019 - 2024. All rights reserved.