【发布时间】:2019-02-21 12:27:20
【问题描述】:
我正在学习 Mockito 并尝试使用 stub() 方法。我有一个简单的代码,但它不起作用,因为我收到此错误:“SpyTest 类型的方法存根(int)未定义”。我想知道我应该在 pom 文件中添加什么依赖项才能使用这个 stub() 方法?提前谢谢!
这是代码:
package com.dgs.mockito;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.mock;
import java.util.ArrayList;
import java.util.List;
import org.junit.jupiter.api.Test;
class SpyTest {
@Test
void test() {
List arrayListMock = mock(ArrayList.class);
assertEquals(0, arrayListMock.size());
stub(arrayListMock.size()).toReturn(5);
}
}
这是 pom 文件:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dgs.mockito</groupId>
<artifactId>mockito-example</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.3.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.3.1</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>2.21.0</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>2.21.0</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<version>1.2.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
我正在观看 Udemy 的教程,他正在使用这种存根方法。如果我尝试手动添加导入,我会收到此错误:“无法解析导入 org.mockito.Mockito.stub”。我想我需要在 pom 文件中添加另一个依赖项。
【问题讨论】:
-
stub是什么? -
澄清请求:您的问题得到充分回答了吗?如果是这样,请考虑accepting 一个答案。这样做有助于未来的读者确定问题是否已解决,并对花时间回答您的人表示感谢。否则请提供反馈,以便人们进一步调整他们的答案。