2008-11-07 21 views
46

Dường như có thể hữu ích khi xác nhận hiển thị thông báo khi xác nhận không thành công.Câu lệnh khẳng định của java có thể cho phép bạn chỉ định một tin nhắn không?

Hiện tại, AssertionError bị ném, bạn có thể chỉ định thông báo tùy chỉnh cho nó không?

Bạn có thể hiển thị cơ chế ví dụ để thực hiện việc này (không phải là tạo loại ngoại lệ của riêng bạn và ném nó) không?

Trả lời

106

Bạn chắc chắn có thể:

assert x > 0 : "x must be greater than zero, but x = " + x; 

Xem Programming with Assertions để biết thêm thông tin.

10

Nó hoàn toàn không:

assert importantVar != null : "The important var was null!"; 

này sẽ thêm "Các var quan trọng là vô giá trị" với ngoại lệ được ném.

6

Nếu bạn sử dụng

assert Expression1 : Expression2 ; 

expression2 được sử dụng dưới dạng tin nhắn chi tiết cho AssertionError.

+0

Chỉ cần thêm rằng AssertionError được ném nếu Expression1 là sai. –

14
assert (condition) : "some message"; 

tôi khuyên bạn nên đặt điều kiện trong ngoặc

assert (y > x): "y is too small. y = " + y; 

Hãy tưởng tượng nếu bạn đi qua mã như thế này ...

assert isTrue() ? true : false : "some message"; 

Đừng quên này không có gì để làm với các xác nhận bạn muốn viết trong JUnit.

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