[英]DropwizardAppRule and maven-failsafe-plugin
這是我DropwizardAppRule
在MyAppIT.java類:
@ClassRule
public static final DropwizardAppRule<MyConfiguration> RULE =
new DropwizardAppRule<>(MyApplication.class, YAML_PATH);
這將返回我的本地Dropwizard應用運行的LocalPort
:
RULE.getLocalPort()
在IntelliJ
運行時,它返回9998
並通過所有測試,但是當我從命令行執行mvn clean install
或mvn verify
,它將引發NullPointerException
並且我看到一堆Connection refused
錯誤。
ERROR! javax.ws.rs.ProcessingException: java.net.ConnectException: Connection refused
這是我的maven-failsafe-plugin
配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<includes>
<include>MyAppIT.java</include>
</includes>
<systemProperties>
<property>
<name>test.environment</name>
<value>${test.environment}</value>
</property>
</systemProperties>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
似乎DropwizardAppRule
甚至沒有啟動(因為端口為null)。 我想念什么?
我將MyAppIT.java包含到了maven-surefire-plugin
surefire maven-surefire-plugin
,它的工作原理是:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<includes>
<include>MyAppIT.java</include>
</includes>
</configuration>
</plugin>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.