我正在将一个测试从JUnit4更新到JUnit5(Jupiter)。
在@beforeeach
等普通注释调整中,我使用@extendwith(MockitoExtension.class)
来运行@mocks。
代码如下所示:
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
@ExtendWith(MockitoExtension.class)
public class SomeTest {
private static final String TEST = "test";
@Mock
RetailerService retailerService;
private Delivery delivery;
@BeforeEach
public void setUp() {
when(retailerService.getMessage(any(String.class))).thenReturn(TEST);
delivery = new Delivery(retailerService);
}
@Test
public void should_have_delivery() {
assertEquals(getExpectedDeliveriesDTOs(), delivery.toDtos());
}
}
我在以下注释:https://stackoverflow.com/a/49655834/2182500中看到,此错误可能是由于在项目POM中有不同版本的junit-jupiter-api
作为依赖项,而在mockito-junit-jupiter
使用的运行范围中有不同版本的junit-jupiter
。
所以我保证为Jupiter导入相同的版本依赖项,但我仍然看到相同的错误。
pom条目。在肯定的水平上:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Dfile.encoding=${project.build.sourceEncoding}</argLine>
<skipTests>true</skipTests>
</configuration>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>1.1.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
在JUnit级别:
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>2.17.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.1.0</version>
<scope>test</scope>
</dependency>
以前有没有人碰到过这个,能帮上忙?提前谢谢你。
原来这个错误与Mockito依赖版本有关。因此,虚化嘲笑。
我所在的项目有一个旧版本的mockito-core
工件,但没有相关的mockito-junit-jupiter
版本。由于Junit4测试模拟注释,项目需要维护mockito-core
。通过更新mockito core的版本和Mockito-Junit-Jupiter使用相同的版本来解决这个问题。像这样:
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>3.0.0</version>
<scope>test</scope>
</dependency>
问题内容: 我已经在这个问题上停留了一段时间,我们将为您提供任何帮助。我正在运行带有ElasticSearch高级REST客户端版本的Spring Boot版本,并将版本用于Spring-Data- Elasticsearch版本。我收到下面的错误。我已经尝试了以下修复方法,但没有解决。 多次更改Spring Boot版本 多次更改ES版本 我已经清除了.m2文件夹,并多次重新下载了Maven依赖
我已经在这个问题上坚持了一段时间,感谢任何帮助。我正在运行弹性搜索高级REST客户端版本的Spring Boot版本,并在Spring Data-Elasticsearch版本中使用version。我得到下面的错误。我尝试了以下尝试来修复,但都没有。 多次更改Spring启动版本 多次更改ES版本 我已经结清了我的债务。m2文件夹并多次重新下载maven依赖项 我下面要讨论的问题是 试图调用不存在
所以我正在学习Selenium用于Java的测试自动化,我有一个错误消息,比如IntelliJ中的标题“windows()”是红色的。 我试图导入org.openqa.selenium.WebDriver。选项,但它是灰色的,所以没用。 我能做些什么来解决这个问题? 提前谢谢
我想使用AndroidStudio 4.0金丝雀3 如功能列表中所述,功能列表中提到: Android Studio现在支持使用大量Java 8语言API,而不需要应用程序的最低API级别。 在模块的构建中,将带有参数的方法添加到对象中。格雷德尔档案。 像这样: 我原以为它可以正常工作,但它会出现以下错误:
问题内容: 我正在使用登录功能,但是遇到了我无法弄清的错误。 这是我的模型登录类: 最后一个函数给出错误“ 在类中找不到方法’close’ ”,“ 在主题类中找不到引用的方法。 ” 这是我的数据库类: 路径是正确的,事实并非如此。可能是什么错误? 问题答案: PhpStorm无法确定您的字段是什么类型。您可以通过简单的PHPDoc注释提供typehint来提供帮助:
我得到一个错误: 错误:在类testPackage.Method1中找不到Main方法,请将Main方法定义为:public static void Main(字符串[]args)或JavaFX应用程序类必须扩展JavaFX.application.application“ 该计划是: