gpt4 book ai didi

javascript - 我该如何删除 JSON 中的特定字段以进行测试,然后在另一个测试中重新加载 JSON,而不缓存删除内容?

转载 作者:行者123 更新时间:2023-12-03 05:16:35 25 4
gpt4 key购买 nike

好的,这是我的问题:

it('should fail when Sns is not found within record', (done) => {
const policy = require('../main/nacl-002-handler.js');
const eventData = require('./data/event.json');
delete eventData.Records[0].Sns;

policy.handler(eventData, {}, (err, data) => {
err.should.equal(`No Sns field was found within ${eventData.Records[0]}`);
should.not.exist(data);
done();
});
});

我想删除此处进行测试的特定字段,这效果很好。但是当我尝试在下一次测试中重新加载相同的模块时,问题就出现了。当 eventData 重新加载时,它缺少我在之前测试中删除的字段。我认为这是由于 Node 缓存模块的方式造成的,但我想要一种在每个后续测试中完全重新加载数据的方法。因此,在这种情况下,我希望在任何后续测试中操作 eventData.Records[0] 的 Sns 字段时保持不变。

我在后续测试中“重新要求”了数据,但 Sns 字段仍然丢失/删除。

最佳答案

您可以在加载 eventData 对象后立即对其进行克隆,这样您始终可以获得一个干净的副本:

var eventDataCLEAN = JSON.parse(JSON.stringify(eventData));

然后,每当您需要新的干净副本时,只需执行以下操作:

eventData = eventDataCLEAN;

关于javascript - 我该如何删除 JSON 中的特定字段以进行测试,然后在另一个测试中重新加载 JSON,而不缓存删除内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41577913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com