Tôi muốn sử dụng Powermock với Mockito để giả lập một số cuộc gọi phương thức tĩnh. Tôi đã làm theo hướng dẫn và ví dụ từ SO cũng như các trang PowerMock Getting Started và MockStatic nhất có thể, nhưng tôi chưa hoàn thành cuộc gọi mockStatic().Thiết lập Powemockito để chế nhạo tĩnh
Khi tôi gọi mockStatic (foo.class) từ lớp thử nghiệm của tôi, tôi trao excception:
java.lang.NoClassDefFoundError: org/Mockito/mock/MockName
at org.powermock.api.mockito.PowerMockito.mockStatic(PowerMockito.java:70)
at ...my test class method call...
tôi chắc chắn rằng đây là một vấn đề thiết lập, như tôi đã tìm kiếm các thuật ngữ sử dụng để thiết lập điều này trở nên khá khó hiểu. Tôi đã lấy Mockito Zip từ PowerMock downloads. Trong Eclipse (3.5.2), tôi đã mở các thuộc tính của dự án và thêm tất cả các Chum vào đường dẫn xây dựng. Tôi cũng đã cố gắng thêm toàn bộ thư mục powermockito đã giải nén vào classpath vars môi trường của tôi, và sau đó chỉ là jar powermockito cụ thể khi điều đó không làm việc.
Tôi có những annotationsat lớp cấp của lớp thử nghiệm của tôi là tốt, theo các hướng dẫn powermock:
@RunWith(PowerMockRunner.class)
@PrepareForTest(ApplicationContextLoader.class)
Ngoài những powermock cụ thể nhập khẩu:
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
Để những người bạn của những người đã sử dụng PowerMockito trước đây, thậm chí chỉ cần một con trỏ đúng hướng, hoặc một cái gì đó để kiểm tra sẽ thực sự hữu ích. Tôi đang đấu tranh để xem cách thiết lập của tôi khác với các bài đăng mà tôi đã thấy bằng cách sử dụng - từ những gì tôi có thể nói - cùng một cú pháp.
Bạn đã bao giờ tìm thấy một giải pháp? – Dave
Không phải là tôi nhớ, mặc dù nó đã được một vài năm. Tôi có câu trả lời từ @Walls upvoted, vì vậy mà phải có được sự giúp đỡ nhất, thiếu một giải pháp. – Ubunfu