如何为测试模拟不同的静态json文件?

如何为测试模拟不同的静态json文件?,json,unit-testing,mocking,jestjs,Json,Unit Testing,Mocking,Jestjs,我有一个.json文件,其中包含用于八达通部署的{apiUrl:'{placeholder}} 使用.json文件的我的服务: import config from '../../configuration/appconfig.json' function appConfigService() { const { apiUrl } = config return { apiUrl: `${ apiUrl === '#{placehold

我有一个.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文件中)。如果我去

/\uuuuu mock\uuuu/appconfigMock.js
路由

或者

jest.mock('../../configuration/appconfig.json',()=>({
apiUrl:'https://a-legit-url.com' 
}))
路线

所有测试的值都相同。我不能在单个测试中进行模拟,因为它不适用于导入。我也不能在一次测试中脱身。我能找到的唯一解决方案是将测试分成两个文件(荒谬的)并分别模拟它们

我试过了

jest.resetModules()
jest.unmock('../../configuration/appconfig.json')
在测试中,我不想使用mock,它仍然使用mock


这对于静态json文件来说是不可能的吗?看起来应该是这样的

你有没有找到解决办法?