Questions tagged «powermock»

6
模拟系统类时出现Mockito + PowerMock LinkageError
我有这样的代码片段: @RunWith(PowerMockRunner.class) @PrepareForTest({Thread.class}) public class AllMeasuresDataTest { @Before public void setUp() throws Exception { } @Test public void testGetMeasures() { AllMeasuresData measure = new AllMeasuresData(); assertEquals(measure.getMeasures(), null); HashMap<String, Measure> map = new HashMap<String, Measure>(); measure.setMeasures(map); assertEquals(measure.getMeasures(), map); measure.setMeasures(null); assertEquals(measure.getMeasures(), null); } @Test public void testAllMeasuresData() throws IOException { ClassLoader loader …


3
使用PowerMockito.whenNew()不会被嘲笑,原始方法会被调用
我的代码如下所示: Class A { public boolean myMethod(someargs) { MyQueryClass query = new MyQueryClass(); Long id = query.getNextId(); // some more code } } Class MyQueryClass { .... public Long getNextId() { //lot of DB code, execute some DB query return id; } } 现在,我正在为编写测试A.myMethod(someargs)。我想跳过真正的方法query.getNextId(),而是返回一个存根值。基本上,我想嘲笑MyQueryClass。 因此,在我的测试案例中,我使用了: MyQueryClass query = PowerMockito.mock(MyQueryClass.class); PowerMockito.whenNew(MyQueryClass.class).withNoArguments().thenReturn(query); …
102 java  junit  mockito  powermock 

1
PowerMockito模拟单个静态方法和返回对象
我想从包含2个静态方法m1和m2的类中模拟静态方法m1。我希望方法m1返回一个对象。 我尝试了以下 1) PowerMockito.mockStatic(Static.class, new Answer<Long>() { @Override public Long answer(InvocationOnMock invocation) throws Throwable { return 1000l; } }); 这将同时调用m1和m2,它们具有不同的返回类型,因此会给出返回类型不匹配错误。 2)PowerMockito.when(Static.m1(param1, param2)).thenReturn(1000l); 但是,执行m1时不会调用。 3)PowerMockito.mockPartial(Static.class, "m1"); 给出了我无法从http://code.google.com/p/powermock/wiki/MockitoUsage获得的无法提供嘲笑的编译器错误。

5
用参数模拟构造函数
我的课如下: public class A { public A(String test) { bla bla bla } public String check() { bla bla bla } } 在构造函数中的逻辑A(String test)和check()是我试图嘲弄的事情。我想要任何调用,例如:new A($$$any string$$$).check()返回一个虚拟字符串"test"。 我试过了: A a = mock(A.class); when(a.check()).thenReturn("test"); String test = a.check(); // to this point, everything works. test shows as "tests" whenNew(A.class).withArguments(Matchers.anyString()).thenReturn(rk); // also tried: …

4
如何模拟通过PowerMock返回void的静态方法?
我的项目中有一些静态util方法,其中一些只是传递或引发异常。关于如何模拟具有除void以外的返回类型的静态方法,有很多示例。但是,我该如何模拟将void返回为“ doNothing()”的静态方法? 非无效版本使用以下代码行: @PrepareForTest(StaticResource.class) ... PowerMockito.mockStatic(StaticResource.class); ... Mockito.when(StaticResource.getResource("string")).thenReturn("string"); 但是,如果将其应用于StaticResourcesreturn void,则编译将抱怨when(T)不适用于void ... 有任何想法吗? 解决方法可能是让所有静态方法都返回一些Boolean成功方法,但我不喜欢这种方法。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.