Maven项目中引入JMockit的步骤
1 创建一个标准的Maven工程,Pom中切记要选择 <packaging>war</packaging> war或者jar均可,但是不能是pom,否则maven test命令只会 Building工程。这个是我搭建测试项目遇到的坑
2 引入JMockit依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<!--<scope>test</scope>-->
</dependency>
<dependency>
<groupId>org.jmockit</groupId>
<artifactId>jmockit</artifactId>
<version>1.38</version>
<!--<scope>runtime</scope>-->
</dependency>
3 引入maven-surefire-plugin,否则Jmockit测试跑完后,并不会生成HTML测试覆盖率的报告
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<!-- 与maven test阶段绑定 -->
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<systemPropertyVariables>
<coverage-output>html</coverage-output>
<coverage-outputDir>target/coverage-report</coverage-outputDir>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
这里要特别注意一点,maven test命令只会跑 src/test/java下测试类,命名规则如下:
默认包含的测试类:
**/*Test.java
**/Test*.java
**/*TestCase.java
默认排除的测试类:
**/Abstract*Test.java
**/Abstract*TestCase.java
4 举个列子:
@RunWith(JMockit.class)
public class TestJApp1_1 {
@Tested
Service testedService;
@Injectable
Dependency dependency;
@Test
public void exeUnitTest() {
new Expectations() {{
dependency.findSomeData(anyString);
result = new Data("345");
}};
testedService.doSomething("...");
}
}
该测试类放在src/test/java下
public class Service {
private Dependency dependency;
public Data doSomething(String someData) {
Data data = dependency.findSomeData(someData);
System.out.println(data.getText());
return data;
}
public String fun() {
return "call original method";
}
}
public class Dependency {
public Data findSomeData(String anyString) {
System.out.println("Dependency -->"+anyString);
log(anyString);
return new Data(anyString);
}
private void log(String text){
System.out.println("Dependency private log -->"+text);
}
}
public class Data {
private String text;
public Data(String text) {
this.text = text;
}
public String getText() {
return text;
}
}
这个类放在src/main/java下。右键runas 或者maven test 都会生成测试报告,效果如下
- 大小: 78.4 KB
分享到:
相关推荐
本文将深入探讨如何在Maven项目中引入依赖的包,并结合相关源码和工具,帮助开发者更好地理解和使用这一功能。 首先,理解Maven的核心概念——`pom.xml`。这是每个Maven项目的心脏,它定义了项目的配置信息,包括...
在IT行业中,Maven是一个广泛使用的构建自动化工具,主要用于Java项目的管理。它的核心功能包括项目的构建、依赖管理和项目信息管理。然而,对于习惯于使用Eclipse IDE开发Web项目的开发者来说,Maven项目可能会显得...
"Eclipse创建基于MAVEN的web项目" 标题解释 本文主要介绍如何使用Eclipse创建基于Maven的Web项目,包括建立Maven项目、配置项目、构建框架等步骤。 描述解释 使用Eclipse创建Maven版的Web项目需要通过Maven的...
在非Maven项目中集成MinIO可能涉及到手动管理依赖项,这确实是一项挑战,因为需要确保所有必需的jar包正确无误。标题和描述提到了在非Maven项目中集成MinIO时可能会遇到的jar包冲突问题。 以下是你提供的压缩包中的...
使用Maven整合Kafka 包括生产者,消费者 Kafka各种配置 //1.设置参数 Properties props = new Properties(); props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "81.68.232.188:9092,81.68.232.188:9093,81...
maven项目里面pom文件所需的tools.java文件,百分之百管用,下载好直接复制到java安装目录下即可使用
"Maven 项目转动态 Web 项目并部署到 Tomcat" Maven 项目转动态 Web 项目并部署到 Tomcat 是一个常见的操作,特别是在 Eclipse 和 Tomcat 环境下。本文将详细介绍如何将 Maven 项目转换为动态 Web 项目,并将其部署...
### Maven项目Eclipse导入步骤详解 #### 一、前言 在进行软件开发时,Maven作为一款自动化构建工具,能够极大地提高项目的构建效率。而在实际工作中,我们常常需要将Maven项目导入到Eclipse IDE中进行开发。本文将...
1.使用骨架创建maven项目,此处选择:maven-archetype-quickstart 2.填入GroupId和ArtifactId 3.第一个选中maven安装的文件夹,第二个选中maven安装文件夹中的conf/settings.xml,第三个如果settings.xml中配置了...
今日,将原先在eclipse上开发的Maven项目导入idea中,启动报错,项目在eclipse中启动百分百是没有问题,误以为是IDEA打开项目的动作错误,在网上查了很多资料,各种操作五花八门,尝试了遍,结果还是不行。...
基于elasticjob的入门maven项目 基于elasticjob的入门maven项目 基于elasticjob的入门maven项目 基于elasticjob的入门maven项目 基于elasticjob的入门maven项目 基于elasticjob的入门maven项目 基于elasticjob的入门...
1. **依赖冲突**: 如果多个依赖引入了同一个库的不同版本,Maven可能会遇到版本冲突。可以通过调整依赖的`scope`(范围)或使用`exclusions`标签排除不必要的依赖。 2. **网络问题**: 如果下载依赖缓慢,可以配置`...
### Maven在Eclipse中的项目启动命令详解 #### 一、Maven简介 Maven是一款流行的自动化构建工具,它主要用于Java项目的构建与管理。Maven通过一个中心信息文件`pom.xml`来管理项目的构建过程、依赖关系以及其他...
java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一...
pom.xml 文件是 Maven 项目的核心配置文件,用于定义项目的信息、项目依赖、引入插件等。通过 pom.xml 文件可以定义项目的依赖关系,例如引入 Servlet 的依赖关系。 6. 依赖管理 在 Maven 项目中,依赖关系是通过 ...
当我们在开发Maven项目时,往往会遇到需要引入外部jar包的情况。本文将详细介绍在Maven项目中引用外部jar包的几种方法,帮助开发者们解决项目构建和运行时可能遇到的问题。 ### Maven项目引用外部jar包的重要性 在...
Maven作为Java项目管理和构建工具,已经成为了许多开发者的首选。MyEclipse,作为一个强大的集成开发环境(IDE),提供了对Maven项目的良好支持。本文将详细阐述如何在MyEclipse中直接部署Maven项目以及进行调试。 ...