在我的反应/笑话单元测试我试图调用一个静态方法称为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这个静态调用?需要有一个快照测试是底线。
AppTrackerContainer.getSortedAppColumns(appList)