【问题标题】:Cannot implement stubbing in JUnit Mockito无法在 JUnit Mockito 中实现存根
【发布时间】:2015-04-07 10:59:33
【问题描述】:

我正在尝试使用 Mockito 编写 Junit 测试用例。每当我尝试使用存根,即使用 when 和 returnThen 时,我都会收到一个编译时错误,即该类的 when 是未知的。以下是我的JUnit sn-p

@Before
public void setUp() throws Exception {
registryIndexConfig = mock(RegistryIndexConfig.class);
when(registryIndexConfig.getIndexName()).thenReturn("Demogoblin");
}

我已经导入了以下类、包

import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.testng.Assert;
import static org.mockito.Mockito.mock;
import org.junit.runner.RunWith;  
import org.mockito.runners.MockitoJUnitRunner; 
import static org.mockito.Mockito.stub;

请有人指出我在这里做错了什么?

【问题讨论】:

  • “我收到一个编译时错误,时间不明” 恕我直言,这很清楚

标签: java junit mockito


【解决方案1】:

mockwhen 和许多其他方法是 Mockito 类中的静态方法。

在使用 unqualified 时必须导入它们(使用 静态导入):

import static org.mockito.Mockito.*;

或者,您可以导入 Mockito 类(就像您所做的那样)

import org.mockito.Mockito;

并使用合格的方法

@Before
public void setUp() throws Exception {
    registryIndexConfig = Mockito.mock(RegistryIndexConfig.class);
    Mockito.when(registryIndexConfig.getIndexName()).thenReturn("Demogoblin");
}

我更喜欢静态导入方式。它使测试代码看起来更干净。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    • 2018-06-22
    • 1970-01-01
    • 2019-07-01
    • 2011-03-10
    • 1970-01-01
    相关资源
    最近更新 更多