У меня есть файл .json, содержащий { apiUrl: '#{placeholder}' }
, который я использую для своих развертываний в Octopus.
Мой сервис, использующий файл .json:
import config from '../../configuration/appconfig.json'
function appConfigService() {
const { apiUrl } = config
return {
apiUrl: `${
apiUrl === '#{placeholder}' ? 'http://localhost:57567' : apiUrl
}/api/`
}
}
export default appConfigService
Проблема, с которой я сталкиваюсь, заключается в тестировании обоих сценариев (в одном файле .test).Если я пойду по маршруту
/__mocks__/appconfigMock.js
или по маршруту
jest.mock('../../configuration/appconfig.json', () => ({
apiUrl: 'https://a-legit-url.com'
}))
,
, то значение будет одинаковым для всех тестов.Я не могу издеваться над одним тестом, так как он не работает для импорта.Я не могу снять с одного теста.Единственное решение, которое я могу найти, - разделить тесты на два файла (смешно) и смоделировать их по отдельности.
Я пробовал
jest.resetModules()
jest.unmock('../../configuration/appconfig.json')
в тесте, что я не хочу использовать макет, и он все еще использует макет.
Это просто невозможно для статического файла json?На самом деле кажется, что так и должно быть.