开玩笑的模拟不适用于导入的模块

时间:2020-02-21 00:38:32

标签: jestjs

我正在尝试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)
})

如果我删除了模拟程序,则测试可以正常工作,因此路径没有问题。

0 个答案:

没有答案