我正在尝试Jest,无法使用导入的模块进行模拟。我已经阅读了文档并仔细阅读了他们的示例,但是我没有任何运气。请参见下面的简单示例,该示例与他们的“模拟功能介绍”文档非常相似:https://jestjs.io/docs/en/mock-functions
WITH agg AS
(
SELECT
tracker_id
, p = MAX(position)
FROM table1
GROUP BY tracker_id
HAVING COUNT(DISTINCT position) = 1
)
SELECT COUNT(tracker_id)
FROM agg
WHERE p = 1
// return-a-number.js
export function callsGetNumber () {
return getNumber()
}
export function getNumber () {
return 4
}
// return-a-number.test.js
import { callsGetNumber, getNumber } from './some-js-file'
jest.mock('getNumber')
test('should return the number 4', () => {
getNumber.get.mockResolvedValue(4)
expect(callsGetNumber()).toBe(4)
})
如果我删除了模拟程序,则测试可以正常工作,因此路径没有问题。