2013-01-03 25 views
13

Tôi dự định chú thích một số bài kiểm tra JUnit4 với chú thích @Category. Sau đó, tôi muốn loại trừ danh mục kiểm tra đó khỏi chạy trên các bản dựng Maven của tôi.Làm thế nào để loại trừ tất cả các bài kiểm tra JUnit4 với một thể loại nhất định bằng cách sử dụng Maven chắc chắn?

Tôi thấy từ số Maven documentation rằng có thể chỉ định danh mục kiểm tra đến chạy. Tôi muốn biết cách chỉ định một danh mục thử nghiệm không phải để chạy.

Cảm ơn!

Trả lời

17

Bạn có thể thực hiện việc này như sau:

Tệp pom.xml của bạn nên chứa thiết lập sau.

<configuration> 
    <excludes> 
     <exclude>**/TestCircle.java</exclude> 
     <exclude>**/TestSquare.java</exclude> 
    </excludes> 
</configuration> 

Nếu bạn muốn hỗ trợ regex chỉ cần sử dụng

<excludes> 
    <exclude>%regex[.*[Cat|Dog].*Test.*]</exclude> 
</excludes> 

http://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html

Nếu bạn muốn sử dụng loại chú thích, bạn cần phải làm như sau:

@Category(com.myproject.annotations.Exclude) 
@Test 
public testFoo() { 
    .... 
} 

Trong của bạn cấu hình maven, bạn có thể có một cái gì đó như thế này

<configuration> 
    <excludedGroups>com.myproject.annotations.Exclude</excludedGroups> 
</configuration> 
+1

Cách thực hiện điều này trong dòng lệnh? –

+1

@AnatoliiStepaniuk use -DexcludedGroups = – kazanaki

+0

Tôi không thể tìm thấy bất cứ điều gì tham chiếu 'excludedGroups' để chắc chắn – Hafiz

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