gpt4 book ai didi

playframework-2.0 - Play 2 将系统属性传递给测试用例

转载 作者:行者123 更新时间:2023-12-01 22:09:07 25 4
gpt4 key购买 nike

执行“Play 测试”时,有没有办法传入要在测试用例中使用的系统属性?

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 中得到了空值。

最佳答案

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

系统属性需要位于命令之前。

关于playframework-2.0 - Play 2 将系统属性传递给测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10923474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com