Воспроизвести 2 передачи системных свойств в тестовые примеры

При выполнении «игрового теста» есть ли способ передать системные свойства, которые будут использоваться в тестовых примерах?

String testDB = System.getProperties().getProperty("testDB");

Map<String, String> conf = new HashMap<String, String>();
if (testDB.equals("localdb")) {
    conf.put("db.default.driver", "org.postgresql.Driver");
    conf.put("db.default.url", "postgres://postgres:postgres@localhost/db");
} else if (testDB.equals("memorydb")) {
    conf.put("db.default.driver", "org.h2.Driver");
    conf.put("db.default.url", "jdbc:h2:mem:play-test");
} else {
    conf.put("db.default.driver", "org.postgresql.Driver");
    conf.put("db.default.url", "postgres://postgres:postgres@localhost/db");
}

running(fakeApplication(conf), new Runnable() {
    public void run() {
    int preRowCount = Info.find.findRowCount();
        Info info = new Info("key");
        info.save();
        assertThat(Info.find.findRowCount()).isEqualTo(preRowCount+1);
        info.delete();
    }
});

Я попробовал "play test -DtestDB=localdb", но получил нулевое значение в testDB.


person angelokh    schedule 06.06.2012    source источник


Ответы (1)


1.2.4

Попробуйте play run -DtestDB=localdb --%test

Я обнаружил, что внизу http://www.playframework.org/documentation/1.2.4/ids, где указано, что play test эквивалентно play run --%test.

2.0

Попробуйте play -DtestDB=localdb test

Системное свойство должно быть перед командой.

person estmatic    schedule 14.06.2012
comment
Я использую Play 2. '--%test' не распознается Play 2. - person angelokh; 15.06.2012
comment
Для отладки сервера я могу передать системные свойства таким образом. $ играть в отладку -DtestDB=localdb $ тест - person angelokh; 16.06.2012
comment
Это не работает для команды активатора, которую сейчас использует игра 2. - person SobiborTreblinka; 07.02.2015