Значение эпохи установлено рано, и функция закрыта, поскольку я не хочу восстанавливать значение эпохи.
/* index.js */
const epoch = Date.now()
function appVersion() {
console.log(epoch)
}
export { appVersion }
Проблема, с которой я сталкиваюсь, заключается в том, что независимо от того, как я высмеиваю глобальный объект Date в моем тестовом файле, этот возвращает возвращаемое значение, не имитируемое, поскольку импорт выполняется первым.
Как я могу смоделировать Date.now () в моем тестовом файле?
Альтернативой, которую я использовал сейчас, является использование Date.now () в отдельном файле и jest.mock импортированного файла
/* epoch.js */
const epoch = Date.now()
export = { epoch }
/* index.test.js */
import { appVersion } from './app-version'
jest.mock('./epoch', () => ({
epoch: '11111111'
})