Итак, вот мой вопрос:Как я могу удалить конкретное поле в JSON для тестирования, а затем перезагрузить JSON в другом тесте без кэширования удаления?
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 кэширует модули, но мне хотелось бы, чтобы все данные перезагрузились в каждом последующем тесте. Поэтому в этом случае я бы хотел, чтобы поле Sns eventData.Records [0] было нетронутым, когда я ввел его в действие в любом последующем тесте (тестах).
В последующих тестах я «потребовал» данные, но поле Sns все еще отсутствует/удалено.
Работали Как колдовство. Честно немного разозлившись, я упустил эту картину. Ты человек доктор Клоу. –