Как изменить конфигурацию узла в памяти

Я пытаюсь изменить значение моей конфигурации в памяти для тестирования, я пробовал добавить process.env.ALLOW_CONFIG_MUTATIONS=true в нескольких местах в приложении, а также через командную строку и мой файл .env.

Метод config.util.getEnv('ALLOW_CONFIG_MUTATION') всегда возвращает значение undefined.

Я также пробовал использовать importFresh и MockRequest в соответствии с примерами, которые я видел в Интернете, ни один из которых не позволяет мне изменить конфигурацию в памяти, а затем сбросить значение позже.

Кто-нибудь знает об этом?

Обновлять: вот пример того, чего я пытаюсь достичь

const config = require (config);
const app = new App(config)

it(`does a thing with base config`, () => {  ...  }

it('does a thing with modified config, () => {  
    // here i would need to modify my config value and
    // have it change the original config that's currently in 
    // application memory

    config = newConfig  

    expect(config.get('newValues')).to.equal(true)
}

Спасибо!

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
341
1

Ответы 1

Если это тот же модуль конфигурации, который я использовал (я думаю, что это так), добавьте custom-environment-variables.js ИЛИ test.js с тестовой конфигурацией.

test.js потребуется ENV=test для работы, а для пользовательских переменных среды потребуется что-то вроде (для Mac и NPM) $ npm run funcTest -> yarn serverRunning && NODE_ENV=test wdio wdio.conf.js.

JSON будет выглядеть примерно так

{
  test: 'Value'
}

Спасибо за ответ @MrPickles - я на самом деле уже использую тестовую конфигурацию, но мне нужно изменить ее значение в середине теста. Я дополню свой вопрос примером!

Quinn Langille 28.06.2018 17:05

ОК. Я не могу вспомнить время, когда конфигурация изменится в середине процесса, или если это вообще возможно. Я предполагаю, что вы нашли способ и поэтому хотите его проверить. если так ... (пауза) ... может потребоваться новый тест (npm run test-config), чтобы получить желаемый эффект. Но, как я уже сказал, я не могу придумать способ попасть в это состояние и, к сожалению, не могу помочь :( в настоящее время. Но, тем не менее, я подумаю об этом.

MrPickles 28.06.2018 23:07

Другие вопросы по теме