如何测试静态json文件的方式不同?

时间:2018-12-10 17:24:05

标签: json unit-testing mocking jestjs

我有一个.json文件,其中包含我用于八达通部署的{ apiUrl: '#{placeholder}' }

我使用.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文件无法做到的吗?确实看起来应该是这样。

0 个答案:

没有答案
相关问题