2012-08-24 15 views
16

Khi tôi đang chạy maven clean install nó luôn thực hiện tất cả các thử nghiệm trong src/test/java là có cách để bỏ qua tất cả các thử nghiệm, chỉ để chạy xây dựng đơn giản mà không cần bất kỳ thử nghiệm nào.Loại trừ các thử nghiệm từ Maven build

Tôi muốn các bài kiểm tra của mình nằm trong số src/test/java nhưng tôi muốn nói với maven không thực thi chúng. Tôi đã tìm kiếm một cái gì đó như thế trên internet nhưng tôi không tìm được câu trả lời.

Có cách nào để thực hiện việc này không?

Trả lời

27

Hãy thử với:

mvn clean install -DskipTests 

Nguồn here.

+0

Điều đó hoạt động hoàn hảo. Cảm ơn :) –

+0

Bạn được chào đón :) – jelies

3

sử dụng

mvn này sạch sẽ cài đặt -DskipTests

8

Bạn cũng có thể chọn để sử dụng

mvn install -Dmaven.test.skip 

Từ Maven website:

Nếu bắt buộc phải, bạn cũng có thể sử dụng thuộc tính maven.test.skip để bỏ biên soạn các bài kiểm tra. maven.test.skip được vinh danh bởi Surefire, Failsafe và Compiler Plugin.

Như đã nói, bạn thậm chí sẽ không biên dịch các nguồn thử nghiệm.

+1

Đúng là -DskipTests không hoạt động cho tôi và bạn đã làm việc! – Xdg

2

Cách yêu thích của tôi để quản lý khi chạy thử nghiệm của tôi là tạo biến Maven được gọi là skip-tests và đặt mặc định là true. Sau đó, bạn có thể sử dụng biến mà như vậy:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.12.2</version> 
    <configuration> 
     <skipTests>${skip-tests}</skipTests> 
    </configuration> 
    </plugin> 

Bằng cách này, bạn chỉ có thể vượt qua trong biến ở thời gian xây dựng, -Dskip-tests=false, khi bạn không muốn chúng chạy. Điều này hữu ích nhất khi bạn tích hợp các thử nghiệm đơn vị và muốn chạy hoặc vô hiệu hóa cả hai bộ kiểm tra chỉ với một biến.

-1

Tôi nghĩ đơn giản nhất sẽ là: mvn clean package -Dmaven.skip.tests=true

Tôi nghĩ rằng đây cách tiếp cận để sử dụng vì nó không làm cho bạn thay đổi pom của bạn, vì vậy không nhất thiết phải thực hiện thay đổi đối với dự án.

+0

Đó là -Dmaven.test.skip = true –

+0

Điều đó bỏ qua việc biên soạn các thử nghiệm, xem http://maven.apache.org/surefire/maven-surefire-plugin/examples/skipping-test.html –

0

Chúng tôi sử dụng Surefire for Unit tests và Failsafe cho các bài kiểm tra Tích hợp.

Để bỏ qua tất cả các xét nghiệm:

mvn clean package -DskipTests 

Để bỏ qua các bài kiểm tra chỉ Failsafe:

mvn clean package -DskipIT 

Để bỏ qua chỉ chắc chắn, bạn cần phải gọi một cách rõ ràng mục tiêu hội nhập-kiểm tra của các plugin Failsafe, sau khi biên soạn các lớp kiểm tra tất nhiên:

mvn clean test-compile failsafe:integration-test 
Các vấn đề liên quan