Bạn có thể phân chia chúng rất dễ dàng bằng cách sử dụng các danh mục JUnit và Maven.
Điều này được thể hiện rất, rất ngắn gọn dưới đây bằng cách tách các bài kiểm tra đơn vị và tích hợp.
Xác định giao diện đánh dấu
Bước đầu tiên trong việc nhóm thử nghiệm bằng các danh mục là tạo giao diện đánh dấu.
Giao diện này sẽ được sử dụng để đánh dấu tất cả các bài kiểm tra mà bạn muốn được chạy dưới dạng kiểm tra tích hợp.
public interface IntegrationTest {}
Đánh dấu các lớp kiểm tra của bạn
Thêm chú thích danh mục vào đầu lớp kiểm tra của bạn. Nó có tên của giao diện mới của bạn.
import org.junit.experimental.categories.Category;
@Category(IntegrationTest.class)
public class ExampleIntegrationTest{
@Test
public void longRunningServiceTest() throws Exception {
}
}
Cấu hình kiểm tra đơn vị Maven
Cái hay của giải pháp này là không có gì thực sự thay đổi đối với mặt thử nghiệm đơn vị của mọi thứ.
Chúng tôi chỉ cần thêm một số cấu hình vào plugin maven Surefire để làm cho nó bỏ qua mọi thử nghiệm tích hợp.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.11</version>
<configuration>
<includes>
<include>**/*.class</include>
</includes>
<excludedGroups>
com.test.annotation.type.IntegrationTest
</excludedGroups>
</configuration>
</plugin>
Khi bạn làm một mvn clean test
, chỉ có các bài kiểm tra đơn vị không được đánh dấu của bạn sẽ chạy.
Cấu hình kiểm tra tích hợp Maven
Một lần nữa cấu hình cho việc này rất đơn giản.
Chúng tôi sử dụng plugin failafe tiêu chuẩn và định cấu hình nó để chỉ chạy các bài kiểm tra tích hợp.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<includes>
<include>**/*.class</include>
</includes>
<groups>
com.test.annotation.type.IntegrationTest
</groups>
</configuration>
</plugin>
Cấu hình sử dụng mục tiêu thực hiện tiêu chuẩn để chạy plugin failafe trong giai đoạn thử nghiệm tích hợp của bản dựng.
Bây giờ bạn có thể làm một mvn clean install
.
Lần này cũng như các bài kiểm tra đơn vị đang chạy, các bài kiểm tra tích hợp được chạy trong giai đoạn kiểm thử tích hợp.