Tho*_*mas 12 intellij-idea functional-testing playframework
我正在使用Play Framework 2.3和IntelliJ IDEA 14.我在我的应用程序中使用了Mailer插件.test在将此行添加到build.sbt之后,我在SBT控制台中运行命令时编写了一些完美的功能测试:
javaOptions in Test += "-Dconfig.file=conf/application.test.conf"
Run Code Online (Sandbox Code Playgroud)
这一个到文件conf/application.test.conf:
smtp.mock=yes
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我直接从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)
Run Code Online (Sandbox Code Playgroud)
我尝试使用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");
});
}
Run Code Online (Sandbox Code Playgroud)
谁可以帮我这个事?
谢谢!
Jav*_*aru 10
除非我弄错了,否则SBT会使用config.file设置和conf/application.test.conf文件.因此,即使config.file通过VM Options文本字段指定设置,IntelliJ IDEA在运行测试时也不会加载它及其包含的设置.相反,您必须将-Dsmtp.mock=yes设置(application.test.conf文件中的任何其他设置)放在VM Options文本字段中.
如果可行,则可以将"参数"文本字段中的参数添加到"运行/调试配置"对话框中"默认"组下的"JUnit"设置,以便您创建的任何新测试都将其预设.
| 归档时间: |
|
| 查看次数: |
1374 次 |
| 最近记录: |