Как работать с переменными в разных окружениях?

158
09 октября 2018, 10:30

Проблема - несколько окружений, надо протестировать функционал, для прогона теста требуется userId. Пользователь один и тот же, но на тесте у него айди 10, а на деве 703, а на прелайве может вообще 1010101. Как быть? Как сказать машине мол когда прогоняются тесты на деве - используй эту переменную, в других случаях - другие...

Использую java, maven, rest assured, testng

Окружение задаю локально через свич

Answer 1

Ну самое просто решение в лоб это энам

public enum Users {
    TEST_USER("10","703","1010101");
    private final String testId;
    private final String devId;
    private final String preLiveId;
    Users(String testId, String devId, String preLiveId) {
        this.testId = testId;
        this.devId = devId;
        this.preLiveId = preLiveId;
    }
    public String getTestId() {
        return testId;
    }
    public String getDevId() {
        return devId;
    }
    public String getPreLiveId() {
        return preLiveId;
    }
}

Ну и в своём свитче юзаешь нужный тебе метод: getTestId() / getDevId() / getPreLiveId()

Но мой тебе совет. Лучше создавай для каждого прогона нового юзера и используй его.

Answer 2

Если я правильно понял, вы имеете ввиду работу с профайлами. Вы можете описать общие переменные в файле application.properties, а остальные в зависимости от профайла в других пропертях. В нужных вам меcnах над полями будете ставить @Value. И когда будете запускать ваше приложение вы укажите -Dspring.profiles.active=dev или -Dspring.profiles.active=local. Это если вы работаете со Spring.

READ ALSO
Shared Preferences не работает

Shared Preferences не работает

Shared Preferences не работает

241
Связь между сервисами

Связь между сервисами

Допустим у меня есть 2 сервиса: один достает картинку с бд, второй принимает картинку и говорит что на ней изображеноТак второй сервис должен...

227
Вызов одного класса из другого

Вызов одного класса из другого

Подскажите пожалуйстаУ меня есть два файла: activity_main(

175
Чем отличается FileInputStream от InputStream?

Чем отличается FileInputStream от InputStream?

В данном случае мне надо достать значения из файлаproperties

169