2012-07-11 21 views
5

Có cách nào để gọi lệnh 'thử nghiệm' của maven chỉ chạy các kiểm tra thất bại trong lần gọi cuối cùng không?Lệnh 'thử nghiệm' của Maven chỉ chạy các kiểm tra thất bại

+0

Tôi không nghĩ vậy, vì nó sẽ yêu cầu đầu ra thử nghiệm bền bỉ và tải lại nó. Rủi ro, quá, vì việc thay đổi một lớp không kiểm tra để vượt qua một bài kiểm tra nên chạy tất cả các bài kiểm tra liên quan, không chỉ những thất bại trước đó. –

+0

Điều này nghe giống như một công việc cho IDE được hỗ trợ bởi Ecilpse, Netbeans hoặc IntelliJ .. – khmarbaise

Trả lời

5

Thử sử dụng tham số runOrder của plugin chắc chắn. Nó không giống như nó có một ${expression} cho phép bạn thay đổi thuộc tính từ dòng lệnh, vì vậy tôi sẽ cuộn của riêng tôi:

... POM stuff here.... 
<properties> 
    <!-- plugin's default value for this param --> 
    <surefire.test.runOrder>filesystem</surefire.test.runOrder> 
</properties> 
.... 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <configuration> 
    <runOrder>${surefire.test.runOrder}</runOrder> 
    </configuration> 
</plugin> 
.... 

Sau đó, bạn có thể chọn cài đặt bạn muốn hiển thị ở dòng lệnh:

mvn -Dsurefire.test.runOrder=failedfirst test (hoặc package hoặc bất kỳ giai đoạn nào bạn muốn).

+0

+1 cho một cái gì đó mới mà tôi đã học được hôm nay – Raghuram

+0

Điều này không hiệu quả đối với tôi. Tôi chạy tất cả các bài kiểm tra lần đầu tiên, tất cả đều trôi qua. Sau đó, tôi chạy lệnh bạn đề xuất, nhưng trong kết quả, nó cho biết nó chạy tất cả các bài kiểm tra một lần nữa. – Glide

+0

Hãy thử sửa đổi một trong các thử nghiệm thường chạy ở cuối để làm cho nó không thành công. Sau đó lặp lại bài kiểm tra của bạn. Một trong những thất bại nên chạy đầu tiên, tiếp theo là tất cả những người khác. Cấu hình được đề xuất không chạy các thử nghiệm KHÔNG thành công, trước tiên nó chạy các lỗi không thành công. Vì chạy thử nghiệm của bạn không bao gồm kiểm tra không thành công, tất cả đều được chạy lại. – user944849

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