栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

jUnit中的多个RunWith语句

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jUnit中的多个RunWith语句

您不能执行此操作,因为根据规范,您不能将相同的注释两次放置在相同的注释元素上。

那么,解决方案是什么?解决的办法是只放一个

@RunWith()
你无法忍受的赛跑者,然后用其他东西代替。对于您的情况,我想您将删除
MockitoJUnitRunner
并以编程方式执行此操作。

实际上,它唯一要做的就是运行:

MockitoAnnotations.initMocks(test);

在测试用例的开始。因此,最简单的解决方案是将以下代码放入

setUp()
方法中:

@Beforepublic void setUp() {    MockitoAnnotations.initMocks(this);}

我不确定,但是您 可能 应该避免使用flag多次调用此方法:

private boolean mockInitialized = false;@Beforepublic void setUp() {    if (!mockInitialized) {        MockitoAnnotations.initMocks(this);        mockInitialized = true;      }}

但是,可以使用JUnt的规则实现更好的可重用解决方案。

public class MockitoRule extends TestWatcher {    private boolean mockInitialized = false;    @Override    protected void starting(Description d) {        if (!mockInitialized) { MockitoAnnotations.initMocks(this); mockInitialized = true;          }    }}

现在,只需将以下行添加到您的测试类中:

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

您可以与任何所需的运行程序一起运行此测试用例。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/485905.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号