java - 无法在 JUnit Mockito 中实现 stub

标签 java junit mockito

我正在尝试使用 Mockito 编写 Junit 测试用例。每当我尝试使用 stub ,即使用when和returnThen时,我都会收到一个编译时错误,表明该类的when无法识别。以下是我的 JUnit 片段

@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;

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

最佳答案

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

使用非限定时必须导入它们(使用静态导入):

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");
}

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

关于java - 无法在 JUnit Mockito 中实现 stub ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29489953/

相关文章:

java - 启动两个 Junit 测试套件

java - Mockito - 验证方法是否重启次数?

java - 制作 Java Makefile

java - 多少次数据库在 Spring DATA JPA save(Iterable<S> entities) 中命中

java - Spring-boot 安全性不会尊重具有自定义 AuthenticationProvider 的角色

java - 在运行多个单元测试之前需要设置对象

java - inAppBilling v3 中的 NullPointerException

java - 我应该在多大程度上隔离我的单元测试方法?

java - 模拟方法上出现 NullPointerException

java - Mockito thenReturn 在来自泛型函数时返回 null