2015-06-11 16 views
6

Tôi đang gặp sự cố khi chế nhạo phương thức UrlEncode.encode bên trong phương thức tĩnh.chế nhạo UrlEncoder theo phương thức tĩnh

MyEncodeClass.java có phương pháp này

public static myEncode(String s) { 
    UrlEncoder.encode(s, "utf-8"); 
} 

Tôi muốn buộc ném một ngoại lệ khi phương pháp UrlEncode.encode được gọi.

@Test(expect = UnsupportedEncodingException.class) 
public void myTest() { 
    PowerMockito.mockStatic(URLEncoder.class);   
    when(URLEncoder.encode("aa", "utf-8")).thenThrow(UnsupportedEncodingException.class);  
    MyEncodeClass.myEncode("aa"); 
} 

nhưng tôi luôn luôn nhận được ngoại lệ sau đây

Caused by: java.lang.NoSuchMethodError: org.mockito.mock.MockCreationSettings.isUsingConstructor()Z 
+0

Trong khi tôi tôn trọng sự cống hiến của bạn trong kiểm tra của bạn, bạn đang cố gắng thử một UnsupportedEncodingException trong trường hợp A) Một lỗi chính tả dev hoặc B) UTF-8 không còn được hỗ trợ? Nó sẽ không dễ dàng hơn để đăng nhập một lỗi nghiêm trọng và thoát khỏi hệ thống? (Xin lỗi, tôi thực sự không thể giúp bạn với vấn đề của bạn, vì tôi không làm phức tạp hơn nhiều so với EasyMock. May mắn thay) –

+0

vâng tôi biết đây là một trường hợp rất xoắn. Nếu quá nhiều tôi có thể bỏ qua nó với một lời giải thích tại sao. – hurric

+0

Không, tất cả đều tốt, hãy làm những gì bạn muốn làm, nhưng tôi phải tận dụng cơ hội để đùa giỡn với bạn. Chúc may mắn với vấn đề của bạn. –

Trả lời

16

đó là vì các phiên bản mâu thuẫn giữa PowerMockito và Mockito hiện vật. Phương thức "MockCreationSettings.isUsingConstructor" được loại bỏ trong các phiên bản mới, vì vậy bạn cần chắc chắn rằng bạn đang sử dụng các phiên bản chính xác. ví dụ: sử dụng phiên bản PowerMockito 1.6.2 với phiên bản Mockito 1.10.19 (phiên bản này có phương thức bị thiếu)

+0

omg..đây là nó .. cảm ơn bạn! – hurric

+0

Cảm ơn. Thật không may đã không giúp trường hợp của tôi. PowerMockito & Mockito có một số phụ thuộc kỳ diệu giữa chúng. Mẹo về các phiên bản được hỗ trợ chính thức không giải quyết được vấn đề https://github.com/powermock/powermock/wiki/mockitousage#supported-versions – Stas

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