Tôi muốn thực hiện kiểm tra null cho các đối số phương pháp của mình, như thông số không được rỗng. Có sử dụng một cái gì đó như thế này assertNotNull("Map should not be null", filePaths);
trong mã Java của tôi không? Tôi đang cố gắng để tránhBạn có thể sử dụng API Junit Assert trong mã sản xuất Java
if(filePaths == null){
throw new IllegalArgumentException("Maps cannot be null");
}
chỉ để giữ mã của tôi sạch từ tất cả những kiểm tra null. Tôi biết tôi có thể viết một lớp học Validator
của riêng tôi và đã quá tải phương pháp notNull
nhưng có cái gì đó hiện có và đơn giản để sử dụng để không tái phát minh ra bánh xe.
Hạn chế duy nhất tôi thấy khi sử dụng JUnit
Assert
là nó ném AssertionError
và không IllegalArgumentException
và v.v.
Tại sao không sử dụng ['Preconditions'] của Guava (http://docs.guava-libraries.googlecode.com/git-history/release/javadoc/com/google/common/base/Preconditions.html)? –
Một tùy chọn khác là sử dụng từ khóa khẳng định do ngôn ngữ Java cung cấp - ví dụ: khẳng định null! = Filepaths: "Bản đồ không thể rỗng". Các kiểm tra này có thể được bật hoặc tắt khi khởi động. –
@AndyThomas: _Không sử dụng các xác nhận để kiểm tra đối số trong các phương thức công khai._ từ [Tài liệu] (http://docs.oracle.com/javase/7/docs/technotes/guides/language/assert.html). Nếu xác nhận bị vô hiệu hóa, nó sẽ không bao giờ được gọi là –