如何为测试模拟不同的静态json文件?
我有一个.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
{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文件来说是不可能的吗?看起来应该是这样的 你有没有找到解决办法?