我编写了单元测试,并希望为一个测试类使用JUnitParamsRunner
和MockitoJUnitRunner
。
不幸的是,以下内容不起作用:
@RunWith(MockitoJUnitRunner.class)
@RunWith(JUnitParamsRunner.class)
public class DatabaseModelTest {
// some tests
}
有没有办法在一个测试类中同时使用Mockito和JUnitParams?
发布于 2015-01-09 07:25:21
从Mockito4.7和JUnit 1.10.17开始,这个功能是内置的;有一个org.mockito.junit.MockitoRule
类。您可以简单地导入它并添加行
@Rule public MockitoRule mockitoRule = MockitoJUnit.rule();
添加到您的测试类。
发布于 2017-06-16 03:04:07
自PowerMock 1.6发布以来,您可以像这样轻松地完成此操作
@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(JUnitParamsRunner.class)
public class DatabaseModelTest {
// some tests
}
在此解释https://blog.jayway.com/2014/11/29/using-another-junit-runner-with-powermock/
发布于 2015-11-30 21:21:55
在我的例子中,我试图模拟spring bean中的一些方法
MockitoAnnotations.initMocks(test);
不起作用。相反,您必须定义要在xml文件中使用模拟方法构造bean,如下所示。
...
<bean id="classWantedToBeMocked" class="org.mockito.Mockito" factory-method="mock">
<constructor-arg value="com.fullpath.ClassWantedToBeMocked" />
</bean>
...
然后在您的测试类中添加带有自动连接的bean,如下所示。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="file:springconfig.xml")
public class TestClass {
...
@Autowired
private ClassWantedToBeMocked classWantedToBeMocked;
...
when(classWantedToBeMocked.methodWantedToBeMocked()).thenReturn(...);
...
}
https://stackoverflow.com/questions/24431427
复制相似问题