У меня проблема в том, что у меня есть несколько тестов в одном блоке describe()
вместе с одной функцией beforeEach()
. Цель этой функции beforeEach()
- присвоить объявленной переменной значение объекта JS, который импортирован из другого файла и содержит объект с вложенными объектами и массивами объектов, которые правильно сформированы и преобразованы в объект из оригинала. JSON.
describe('function dataToInput', () => {
let cleanData
beforeEach(() => {
cleanData = rawData
})
Таким образом, при первом запуске теста это назначается правильно с импортированными данными, поскольку я вышел из системы для подтверждения, но при каждом последующем выполнении данные сохраняют любые изменения, сделанные в нем какчасть предыдущего теста.
У меня есть тесты, которые присваивают другое значение одному из содержимого объектов вложенных массивов, например cleanData.obs[0].obs_value.value = ''
. Я ожидаю, что в следующем тесте это значение должно быть восстановлено до его предыдущего состояния с помощью присваивания beforeEach()
, однако значение переносится в следующий тест, который затем не проходит. Я не могу понять, почему это так.
Если я специально назначу значение в beforeEach()
исходному значению, то есть cleanData.obs[0].obs_value.value = 0.85
, то оно будет работать так, как ожидалось, хотя это нежелательно, так как будет еще несколько тестов, и я бы не хотелдолжны объявлять новые переменные для каждого теста, когда требуется только один исходный источник данных.
Есть ли у кого-нибудь мысли о том, почему это происходит и как его решить?