2015-02-19 21 views
17

Đối với các bản dựng của tôi trên Travis, tôi muốn có thể đọc kết quả kiểm tra khi có các kiểm tra không thành công để xem stacktrace của các thử nghiệm không thành công đó. Hiện tại, các báo cáo này được lưu trữ cục bộ trên máy chạy các kiểm tra, vì vậy tôi không thể truy cập các tệp cục bộ trong đó các báo cáo.Làm thế nào để đọc báo cáo kết quả thử nghiệm trên Travis CI?

Tôi cũng không muốn lưu trữ các tệp này thông qua Amazon S3 vì dường như quá phức tạp.

Giống như: How to get surefire reports form Travis-CI build? có vẻ như nó có thể hoạt động, nhưng cũng có vẻ phức tạp.

Về cơ bản, tôi muốn có thể đọc tệp kết quả thử nghiệm cục bộ từ Travis mà không qua S3.

+0

Bạn không thể chạy công cụ xây dựng của mình theo cách nó tạo ra nhiều thông tin hơn khi chạy thử nghiệm? –

+0

vì vậy, chẳng hạn như ./gradlew test --info thay vì chỉ ./gradlew test? Tôi đoán đây có thể là một giải pháp đơn giản, nhưng với báo cáo đầy đủ, có thể có thêm thông tin với thử nghiệm không thành công, đôi khi tôi nghĩ đôi khi có thể hữu ích hơn. – Caren

+0

Tôi chỉ muốn thử xem liệu '--info' hoặc' --debug' có tạo đủ thông tin hay không. Nếu không, bạn có thể tinh chỉnh câu hỏi của mình. –

Trả lời

1

Hãy thử thêm --info để lệnh của bạn:

./gradlew test --info 

Nếu bạn muốn biết thêm, hãy thử:

./gradlew test --debug 
+1

có vẻ như thử các tùy chọn đó vẫn không xuất hiện tại sao các thử nghiệm thất bại trong travis, vì bất kỳ lý do gì – Caren

+0

Hmm, nó làm với tôi. Tôi thấy thông báo xác nhận (ví dụ: 'có X, mong đợi Y') –

8

Cách dễ nhất để có được kết quả hữu ích trên console về thất bại trong thử nghiệm là sử dụng gradle kiểm tra đăng nhập.

test { 
    testLogging { 
     events "failed" 
     exceptionFormat "short" 
    } 
} 

Để biết chi tiết và các tùy chọn thêm ở đây có một cái nhìn tại các chương theo trong userguide gradle: http://gradle.org/docs/current/dsl/org.gradle.api.tasks.testing.logging.TestLoggingContainer.html

+0

Tôi nghĩ đây là giải pháp đơn giản nhất không gây ô nhiễm nhật ký xây dựng dưới dạng --info hoặc --debug. Tôi cuối cùng chuyển sang sử dụng exceptionFormat "đầy đủ" kể từ khi "ngắn" một thậm chí không chứa thông điệp ngoại lệ. –

3

Để mở rộng về câu trả lời Rene Groeschke, tôi tìm thấy các cấu hình sau đây là một sự thỏa hiệp tốt cho Travis:

test { 
    testLogging { 
     events "passed", "skipped", "failed" 
     exceptionFormat "full" 
    } 
} 

này sẽ dẫn đến một kết quả như sau:

com.package.SomeClassTest > testPass PASSED 

com.package.SomeClassTest > testSkip SKIPPED 

com.package.SomeClassTest > testFail FAILED 
    java.lang.AssertionError: expected:<false> but was:<true> 
     at org.junit.Assert.fail(Assert.java:88) 
     at org.junit.Assert.failNotEquals(Assert.java:834) 
     at org.junit.Assert.assertEquals(Assert.java:118) 
     at org.junit.Assert.assertEquals(Assert.java:144) 
     at com.package.SomeClassTest.testFail(SomeClassTest.java:42) 

3 tests completed, 1 failed, 1 skipped 

Báo cáo thử nghiệm sẽ vẫn được tạo, vì vậy bạn có thể tham khảo báo cáo thử nghiệm khi chạy thử nghiệm cục bộ.

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