【发布时间】:2020-04-14 14:32:28
【问题描述】:
我有一个名为 StateService 的模拟文件,位于 __mocks__ 文件夹中
export default {
goTo: jest.fn(),
goToNewTab: jest.fn(),
goToPreviousAppState: jest.fn(),
reload: jest.fn()
}
在我的测试中,我想监视goToNewTab 并检查该函数是否已被调用。
我现在正在做的是将模拟文件导入我的测试,然后在我的测试本身中,我像这样调用期望:
expect(StateService.goToNewTab).toHaveBeenCalled();
但是期望没有返回正值。
【问题讨论】:
-
如果您在
__mocks__文件夹中创建了模拟,则无需导入它,jest 会为您执行此操作(除非您另有说明)。您遵循的逻辑对我来说似乎是正确的,您能否添加相关代码的最小版本? -
问题是我需要在我的测试文件中从某个地方导入 StateService 吗?这就是问题所在,如果我导入mock文件,调用次数为0,否则我不知道该怎么办
标签: javascript unit-testing mocking jestjs