Dưới đây là phương pháp riêng của tôi trong lớp DataTap
của tôi và tôi đang cố gắng để kiểm tra JUnit phương pháp tin này sử dụng jmockit -Làm thế nào để vượt qua chuỗi rỗng để một phương pháp riêng sử dụng jmockit trong khi đơn vị thử nghiệm nó?
private void parseResponse(String response) throws Exception {
if (response != null) {
// some code
}
}
Vì vậy, dưới đây là thử nghiệm junit tôi đã viết nhưng đối với trường hợp null, nó được ném NPE bằng cách nào đó trên bản thân kiểm tra junit.
DataTap tap = new DataTap();
Deencapsulation.invoke(tap, "parseResponse", "hello");
// this line throws NPE
Deencapsulation.invoke(tap, "parseResponse", null);
Vì vậy, câu hỏi của tôi là - Có cách nào tôi có thể vượt qua null string
để parseResponse
phương pháp sử dụng JMOCKIT như một phần của thử nghiệm junit?
Đây là những gì tôi nhìn thấy trên dòng đó -
Các đối số kiểu rỗng một cách rõ ràng nên được đúc vào Object [] cho invocation của invoke phương pháp varargs (Object, String, Object .. .) từ loại Deencapsulation. Nó có thể được chuyển sang đối tượng cho một yêu cầu varargs
Đó là mã nên làm việc. Tôi nghĩ rằng vấn đề là ở một nơi khác. – tbodt
Điều này tôi có thể nhìn thấy trên dòng đó 'Đối số của kiểu null sẽ được đúc thành Object [] để gọi phương thức varargs gọi (Object, String, Object ...) từ kiểu Deencapsulation. Nó có thể được chuyển sang Object cho một lời gọi varargs và nó thực sự thất bại. – john