Настройка IntelliJ, поэтому для запуска тестов требуется определенный файл конфигурации.

Я использую Play Framework 2.3 и IntelliJ IDEA 14. Я использую плагин Mailer в своем приложении. Я написал несколько функциональных тестов, которые отлично работают, когда я запускаю команду test в консоли SBT, после добавления этой строки в build.sbt:

javaOptions in Test += "-Dconfig.file=conf/application.test.conf"

И этот файл в файл conf/application.test.conf:

smtp.mock=yes

К сожалению, когда я запускаю тесты непосредственно из IntelliJ, я получаю эту ошибку:

java.lang.RuntimeException: smtp.host needs to be set in application.conf in order to use this plugin (or set smtp.mock to true)

Я попытался запустить эти тесты с аргументом VM -Dconfig.file=conf/application.test.conf без успеха.

Вот два примера тестов, которые я пытаюсь выполнить:

@Test
public void testWithServer() {
    running(testServer(3333), () -> {
        assertThat(WS.url("http://localhost:3333").get().get(1000).getStatus()).isEqualTo(OK);
    });
}

@Test
public void testWithBrowser() {
    running(testServer(3333), HTMLUNIT, browser -> {
        browser.goTo("http://localhost:3333");
        assertThat(browser.$("title").getText()).isEqualTo("Welcome");
    });
}

Может ли кто-нибудь помочь мне в этом?

Спасибо!

Ответ 1

Если я ошибаюсь, параметр config.file и, следовательно, файл conf/application.test.conf используется SBT. Таким образом, IntelliJ IDEA при запуске теста не загружает его и содержащиеся в нем параметры, даже если вы указываете параметр config.file через текстовое поле "Параметры виртуальной машины" . Вместо этого вы должны поместить параметр -Dsmtp.mock=yes (любые другие параметры, которые находятся в файле application.test.conf) в текстовое поле "Параметры виртуальной машины" .

Если это сработает, вы можете добавить аргументы (аргументы) в текстовое поле "Параметры виртуальной машины" в параметры JUnit в группе "По умолчанию" в диалоговом окне "Запуск/отладка конфигурации", чтобы все новые тесты, которые вы создали, предварительно установили.

Ответ 2

В настройках запуска выберите JUnit, а затем нажмите гаечный ключ, чтобы изменить конфигурацию по умолчанию. Затем в параметрах VM добавьте -Dconfig.file=/absolute/path/to/application.test.conf.