【发布时间】:2020-04-08 23:05:50
【问题描述】:
我目前正在尝试测试我创建的方法,并且我的 if 语句中的方法没有被调用。我完全不知所措。我是新人太开玩笑了,所以我确定我缺少一些简单的东西。
describe('isSingleScreen', () => {
beforeEach(() => {
jest.clearAllMocks();
jest.spyOn(utilMethods, 'isDualScreen').mockReturnValue(true);
});
it('autoScreenAdd', () => {
// Arrange
const singleScreenAddSpy = jest.spyOn(
singleScreenMethods,
'singleScreenAdd'
);
const dualScreenAddSpy = jest.spyOn(dualScreenMethods, 'dualScreenAdd');
// Act
utilMethods.autoScreenAdd({});
// Assert
expect(singleScreenAddSpy).toBeCalledTimes(0);
expect(dualScreenAddSpy).toBeCalled();
expect(dualScreenAddSpy).toBeCalledTimes(1);
});
});
export const isDualScreen = (): boolean => {
return Dimensions.get('window').width > 1000 ? true : false;
};
export const autoScreenAdd = (element: IDualComponent) => {
if (isDualScreen()) {
dualScreenAdd(element);
} else {
singleScreenAdd(element);
}
};
这是我收到的错误
expect(jest.fn()).toBeCalledTimes(expected)
Expected number of calls: 0
Received number of calls: 1
30 | // Assert
31 | expect(autoScreenAddSpy).toBeCalled();
> 32 | expect(singleScreenAddSpy).toBeCalledTimes(0);
| ^
33 | expect(dualScreenAddSpy).toBeCalled();
34 | expect(dualScreenAddSpy).toBeCalledTimes(1);
35 | });
【问题讨论】:
标签: reactjs typescript react-native testing jestjs