当前位置: 首页 > news >正文

企业网站建立步骤网络营销课程

企业网站建立步骤,网络营销课程,自己设计logo网站,律师做网站本篇的实例基于Maven IDE (VS Code) 运行 在VS Code 运行的时候, 不需要在pom.xml 中添加任何插件就可以在测试类中看到如下的绿色按钮,单击就可以运行使用Mockito 注解 ExtendWith(MockitoExtension.class) 或是 Mockito 代码方式的测试。 不使用注…

本篇的实例基于Maven

IDE (VS Code) 运行

在VS Code 运行的时候, 不需要在pom.xml 中添加任何插件就可以在测试类中看到如下的绿色按钮,单击就可以运行使用Mockito 注解 @ExtendWith(MockitoExtension.class) 或是 Mockito 代码方式的测试。
在这里插入图片描述

  • 不使用注解:
*** Copyright (C)  Oscar Chen(XM):* * Date: 2024-12-07* Author: XM*/
package com.osxm.test.mock;import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import java.util.List;
import org.junit.jupiter.api.Test;public class MockMethodTest {@Testpublic void objectMock() {List<String> mockedList = mock(List.class); // 创建一个List接口的mock对象when(mockedList.get(0)).thenReturn("first");mockedList.get(0);verify(mockedList).get(0); }
}
  • 使用注解
//*** Copyright (C)  Oscar Chen(XM):* * Date: 2024-12-01* Author: XM*/
package com.osxm.test.mock;import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;import java.util.List;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 MockitoUsageTest {@Mockprivate List<String> mockedList;@Testpublic void objectMock() {when(mockedList.get(0)).thenReturn("first");mockedList.get(0);verify(mockedList).get(0); }
}

如果需要调试模式可以右键单击按钮,在弹出菜单选择Debug Test
在这里插入图片描述

mvn test 命令行运行的问题

但是在命令行使用 mvn test 命令运行的时候, 却出现了比较奇怪的现象:

  • 普通的JUnit 测试类和方法能正常运行
  • 使用Mockito 的测试类能找到,但是测试方法找不到,如下图所示:

在这里插入图片描述

为什么呢? 这里首先要介绍一下 Maven的插件 maven-surefire-plugin。

maven-surefire-plugin

maven-surefire-plugin是Maven的一个插件,主要用于执行Java应用程序中的单元测试。

主要功能包括:

  1. 执行单元测试:maven-surefire-plugin可以自动发现并执行项目中的测试类。它默认使用JUnit来执行测试,但也可以配置为支持其他测试框架,如TestNG。
  2. 报告生成:该插件提供详细的测试结果报告,包括测试用例的数量、成功/失败/忽略的数量等,这些报告通常以纯文本(.txt)和XML(.xml)格式生成,并保存在项目的target/surefire-reports目录下。
  3. 定制测试执行:maven-surefire-plugin允许用户通过配置来定制测试的执行方式,例如指定特定的测试类或方法进行执行,或者排除某些测试类或方法。

mvn test 运行Mockito 测试的解法

在pom.xml 中添加maven-surefire-plugin 插件:

    <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>3.5.2</version></plugin></plugins></build>

再次运行就可以找到Mockito 编写的测试类了。

在这里插入图片描述

问题

那么,问题来了:

  1. 为什么VS Code不添加maven-surefire-plugin可以运行单元测试?
  2. 为什么在不添加maven-surefire-plugin的状况下,普通的单元测试可以找到并运行,Mockito 的不行了呢?
    接下来就解惑这两个问题

### 为什么VS Code不添加maven-surefire-plugin可以运行单元测试?

在IDE中导入Maven项目时,IDE通常会自动读取pom.xml文件,并根据其中的配置来设置项目的构建和测试环境。如果pom.xml中没有显式配置maven-surefire-plugin,IDE可能会使用Maven的默认行为来执行测试。
另外, IDE通常还提供了测试运行器功能,允许用户直接运行和调试测试类。这些测试运行器可以与Maven的测试框架集成,从而在不依赖maven-surefire-plugin的情况下执行测试。

所以,对于IDE ,可以不依赖pom.xml 的maven-surefire-plugin 就可以运行测试

为什么在不添加maven-surefire-plugin的状况下,普通的单元测试可以找到并运行,Mockito 的不行了呢?

稍微细心一点就可以看到在显式添加maven-surefire-plugin 的前后的差异:
在这里插入图片描述

在pom.xml 显式添加maven-surefire-plugin 之前,使用mvn test 命令其实也使用了maven-surefire-plugin,只是版本比较低 ,是2.12.4 版。
这个原意就是 Maven内置了一个版本的maven-surefire-plugin,即使项目没有配置,也可以使用这个版本来运行单元测试,但是这里的状况,这个版本相对于Mockito 的版本来说,低了, 所以找不到Mockito 的测试。通过添加新版本的
maven-surefire-plugin 就可以解决这个问题。



http://www.mnyf.cn/news/36236.html

相关文章:

  • 做网站费用多少抖音搜索引擎优化
  • 昆明网站外包上海广告推广
  • 网站建设用什么系统百度竞价推广收费
  • 西山区城市建设局网站宁波关键词排名优化
  • 常州网站推广州推动优化防控措施落地
  • 学校网站注重服务平台建设企业管理培训
  • 网站怎么做本地映射搜易网提供的技术服务
  • 做电影下载网站需要什么软件好优化大师卸载不了
  • 深圳高端保姆公司大型seo公司
  • 常见的分类信息网站有哪些360搜索引擎
  • 免费asp主机网站新网站快速收录
  • 房县网站建设百度一下你就知道搜索引擎
  • 运城建设网站百度网址大全 官网
  • 外贸都用什么网站crm网站
  • 跨境电商平台有哪些上市公司seo描述是什么意思
  • 做彩票网站需要境外网络营销广告案例
  • 自助建设手机网站如何快速推广一个app
  • 临清网站优化windows优化大师和360哪个好
  • 贵阳微网站社群营销活动策划方案
  • 产品网站建设建议品牌广告视频
  • 查网站服务器ip 被k百度网盘怎么找资源
  • 报纸门户网站建设方案专门看广告的网站
  • 化工网站建设公司广东东莞疫情最新消息今天又封了
  • 二极管 东莞网站建设站长之家素材网站
  • 建站公司前途排名优化网站
  • 设计软件网站拉新工作室在哪里接项目
  • 一个主机建多少个网站网站建设企业建站
  • 在线电影网站建设论文品牌网络seo方案外包
  • 门头沟区专业网站制作网站建设搜索优化软件
  • 太原做网站需要多少钱网站建设规划要点详解