Как я могу ввести личное имя пользователя и пароль через Maven для тестирования? - PullRequest
1 голос
/ 16 января 2012

Чтобы подключиться к внешней системе, для которой у каждого разработчика есть личное имя пользователя и пароль, мне нужно ввести имя пользователя и пароль для моих тестовых примеров JUnit:

String username = System.getProperty("ext.username");

Вышеуказанная строка будет вызываться внутри любого класса внутри моей папки test

Как мне лучше всего это сделать через Maven? Я думаю, что лучшая область для свойства находится внутри settings.xml, но я не уверен в том, как лучше всего перенести его оттуда в мой код.

1 Ответ

4 голосов
/ 16 января 2012

Эта проблема лучше всего решается с помощью профиля сборки Maven.

В вашем POM вы объявляете значение по умолчанию для свойств (для предотвращения возможных ошибок во время выполнения).

<project>
..
    <properties>
        <ext.username>XXXXX</ext.username>
        <ext.password>YYYYY</ext.password>
    </properties>

Каждый разработчик может затем переопределить эти свойства в локальной сборке, используя профиль по умолчанию, указанный в их файле настроек: $ HOME / .m2 / settings.xml

<settings>
    ..
    <profiles>
        <profile>
            <id>dev</dev>
            <activeByDefault>true</activeByDefault>
            <properties>
                <ext.username>XXXXX</ext.username>
                <ext.password>YYYYY</ext.password>
            </properties>
        </profile>
        ..
    </profiles>
    ..
</settings>

Для тех, кто беспокоится о безопасности, также можно зашифровать пароль .

Наконец, можно настроить несколько профилей. Они могут быть выбраны во время выполнения (с использованием идентификатора профиля) для поддержки нескольких сред сборки:

mvn -Pdev  ..
mvn -Pprod ..
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...