2017-04-18 23 views
5

Tham khảo theo các liên kết - GitHub discussion on how to separate Integration Tests and Unit TestsLàm thế nào để kiểm tra tích hợp và kiểm tra đơn vị chạy riêng thông qua maven?

Do vậy, tôi đã cố gắng này -

 <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <configuration> 
      <includes> 
      <include>**/*Tests.java</include> 
      <include>**/*Test.java</include> 
      </includes> 
      <excludes> 
      <exclude>**/Abstract*.java</exclude> 
      <exclude>**/IT*.java</exclude> 
      <exclude>**/*IT.java</exclude> 
      <exclude>**/*ITCase.java</exclude> 
      <exclude>**/*IntegrationTest.java</exclude> 
      </excludes> 
     </configuration> 
     </plugin> 

     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-failsafe-plugin</artifactId> 
     <executions> 
      <execution> 
      <goals> 
       <goal>integration-test</goal> 
       <goal>verify</goal> 
      </goals> 
      <configuration> 
       <includes> 
       <include>**/IT*.java</include> 
       <include>**/*IT.java</include> 
       <include>**/*ITCase.java</include> 
       <include>**/*IntegrationTest.java</include> 
       </includes> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin> 

này đang làm việc tốt trong chừng mực nào. Có nghĩa là, chắc chắn không thực hiện các kiểm thử tích hợp và Failsafe không thực thi các kiểm thử đơn vị.

Nhưng, khi tôi chạy, mvn verify hoặc mvn integration-test, plugin chắc chắn cũng được sử dụng.


Kết quả bắt buộc: Khi chạy mvn integration-test, Kiểm tra đơn vị không được chạy.


dưới đây ba hình ảnh được cho mvn verify

Integration Test:

Integration Test

Tests Run

Unit Tests:

Unit Test

Hình ảnh dưới đây là khi tôi chạy mvn test

Unit Tests

+0

theo việc đặt tên mặc định giản đồ và không thêm một số bao gồm/loại trừ vv làm cho mặc định cho maven-surefire-plugin và maven-failsafe-plugin đang làm việc tốt ... Các quy ước trên đồng nfiguration là pardigm ... Vì vậy, chỉ cấu hình một cái gì đó nếu bạn thực sự cần. Nếu không giữ nguyên giá trị mặc định. – khmarbaise

+0

[Quy ước đặt tên không an toàn] (https://maven.apache.org/surefire/maven-failsafe-plugin/examples/inclusion-exclusion.html). Tôi không biết điều này tồn tại cho đến khi bạn đề cập đến. –

+0

@khmarbaise Tuy nhiên, không loại trừ cháy nắng mặc định của plugin không an toàn? –

Trả lời

5

Maven có vòng đời xây dựng được tạo thành từ nhiều giai đoạn. Khi bạn gọi một cụ thể, tất cả các giai đoạn trước khi một trong đó sẽ được thực hiện đầu tiên. Xem https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

Có hai cách làm thế nào bạn có thể giải quyết những gì bạn muốn:

1

Cả hai bàn thắng verifyintegration-test quy định tại maven-failsafe-plugin trường hợp thử nghiệm chạy tích hợp với chắc chắn hơn. Ở đây mọi thứ đang hoạt động như mong đợi và theo hướng dẫn được cung cấp. vui lòng tham khảo này link để biết thêm chi tiết:

+0

Điều này đúng. Cảm ơn. Nhưng, nó không thực sự giải quyết vấn đề cốt lõi của tôi. –

Các vấn đề liên quan