Có hai tùy chọn, giải pháp maven và giải pháp chắc chắn. Giải pháp ít nhất là để thực hiện một plugin trong giai đoạn pre-integration-test
và post-integration-test
. Xem Introduction to the Build Lifecycle - Lifecycle Reference. Tôi không quen thuộc với hoa râm, nhưng đây là một ví dụ sử dụng cầu cảng:
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<configuration>
<contextPath>/xxx</contextPath>
</configuration>
<executions>
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
</configuration>
</execution>
<execution>
<id>stop-jetty</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
Lưu ý rằng giai đoạn cho start
là pre-integration-test
và stop
là post-integration-test
. Tôi không chắc chắn nếu có một plugin marsh grizzly, nhưng bạn có thể sử dụng maven-antrun-plugin thay thế.
Tùy chọn thứ hai là sử dụng JUnit RunListener. RunListener
lắng nghe để kiểm tra các sự kiện, chẳng hạn như bắt đầu kiểm tra, kết thúc kiểm tra, thử nghiệm thất bại, thành công thử nghiệm, vv
public class RunListener {
public void testRunStarted(Description description) throws Exception {}
public void testRunFinished(Result result) throws Exception {}
public void testStarted(Description description) throws Exception {}
public void testFinished(Description description) throws Exception {}
public void testFailure(Failure failure) throws Exception {}
public void testAssumptionFailure(Failure failure) {}
public void testIgnored(Description description) throws Exception {}
}
Vì vậy, bạn có thể lắng nghe RunStarted và RunFinished. Chúng sẽ bắt đầu/dừng các dịch vụ mà bạn muốn. Sau đó, trong chắc chắn hơn, bạn có thể chỉ định một người biết lắng nghe tùy chỉnh, sử dụng:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.10</version>
<configuration>
<properties>
<property>
<name>listener</name>
<value>com.mycompany.MyResultListener,com.mycompany.MyResultListener2</value>
</property>
</properties>
</configuration>
</plugin>
Đây là từ Maven Surefire Plugin, Using JUnit, Using custom listeners and reporters
Nguồn
2013-02-08 12:33:29
cái nào bạn đang sử dụng nếu không JUnit? – TheWhiteRabbit
nếu bạn đang sử dụng thử nghiệm POJO hoặc TestNG, bạn có thể sử dụng câu hỏi được cập nhật @BeforeClass – TheWhiteRabbit
@TechExchange để làm rõ rằng tôi đang sử dụng maven surefire – hertzsprung