首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jUnit中的多条RunWith语句

jUnit中的多条RunWith语句
EN

Stack Overflow用户
提问于 2014-06-26 21:07:55
回答 6查看 74.3K关注 0票数 123

我编写了单元测试,并希望为一个测试类使用JUnitParamsRunnerMockitoJUnitRunner

不幸的是,以下内容不起作用:

@RunWith(MockitoJUnitRunner.class)
@RunWith(JUnitParamsRunner.class)
public class DatabaseModelTest {
  // some tests
}

有没有办法在一个测试类中同时使用Mockito和JUnitParams?

EN

回答 6

Stack Overflow用户

发布于 2015-01-09 07:25:21

从Mockito4.7和JUnit 1.10.17开始,这个功能是内置的;有一个org.mockito.junit.MockitoRule类。您可以简单地导入它并添加行

@Rule public MockitoRule mockitoRule = MockitoJUnit.rule();

添加到您的测试类。

票数 59
EN

Stack Overflow用户

发布于 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/

票数 8
EN

Stack Overflow用户

发布于 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(...);
    ...
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24431427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档