2013-01-31 38 views
5

Tôi đang viết một số bài kiểm tra đơn vị trong nhật thực mong đợi các ngoại lệ được ném ra.JUnit Eclipse - Hiển thị dấu vết ngăn xếp thành công

Tôi tự hỏi nếu có một tùy chọn để hiển thị ngăn xếp dấu vết khi một kiểm tra trôi qua, nó sẽ hữu ích khi bạn viết thử nghiệm lần đầu tiên để kiểm tra xem ngoại lệ có bị ném hay không thử nghiệm.

cảm ơn!

Trả lời

3

Bạn không cần phải làm điều đó.

Sử dụng @Test chú thích có một cuộc tranh cãi expected:

@Test(expected=MyAppException.class) 

Nếu kiểm tra không không ném ngoại lệ đó là một thử nghiệm thất bại.

Nên có một tùy chọn xem Eclipse để hiển thị kết quả kiểm tra ghi nhật ký, nhưng nói chung, việc ghi nhật ký rõ ràng từ các thử nghiệm không có giá trị. Bạn cũng có thể gỡ lỗi thử nghiệm của mình nếu bạn không tin tưởng các chú thích JUnit.

+1

@carrizo nếu bạn muốn xem stacktrace trên đầu ra console, bạn có thể bao quanh mã kiểm tra này với try-catch và dấu vết ngăn xếp in từ đó, nhưng đừng quên truyền ngoại lệ lên –

+0

Đúng đó là những gì tôi đang làm tìm kiếm một tùy chọn để làm điều đó mà không cần phải viết một thử bắt cho mỗi bài kiểm tra. Cảm ơn bạn! :) – carrizo

+0

@carrizo Nhưng mục tiêu là gì? Bạn có tin tưởng rằng JUnit hoạt động không? –

1

Tại sao không đặt các câu lệnh System.out.print() bên trong khối catch của thử nghiệm? Tôi không chắc chắn làm thế nào khác bạn muốn hiển thị đầu ra từ một bài kiểm tra vì chúng thường được xây dựng để được im lặng khi họ thành công vì có rất nhiều người trong số họ.

Bạn đã từng nghĩ đến việc sử dụng log4j và log.debug() chưa?

+0

Thực ra tôi sẽ cố gắng mở rộng chú thích JUnit hoặc một cái gì đó để cho phép điều này, nó là một nỗi đau phải bắt ngoại lệ, đăng nhập và ném lại cho mỗi bài kiểm tra bạn viết:/ – carrizo

+0

xử lý ngoại lệ trong một hệ thống cách đây nhiều năm. Chúng tôi không bao giờ tìm thấy một giải pháp tốt nhưng tôi nhớ đã nghe các phiên bản sau của JUnit cung cấp hỗ trợ cho việc này. Tôi phải xem qua các tài liệu JUnit. –

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