`
v7sky
  • 浏览: 76353 次
文章分类
社区版块
存档分类
最新评论

Maven项目引入JMockit

阅读更多
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
0
0
分享到:
评论

相关推荐

    maven 中引入依赖的包

    本文将深入探讨如何在Maven项目中引入依赖的包,并结合相关源码和工具,帮助开发者更好地理解和使用这一功能。 首先,理解Maven的核心概念——`pom.xml`。这是每个Maven项目的心脏,它定义了项目的配置信息,包括...

    maven项目转换WEB项目

    在IT行业中,Maven是一个广泛使用的构建自动化工具,主要用于Java项目的管理。它的核心功能包括项目的构建、依赖管理和项目信息管理。然而,对于习惯于使用Eclipse IDE开发Web项目的开发者来说,Maven项目可能会显得...

    Eclipse创建基于MAVEN的web项目

    "Eclipse创建基于MAVEN的web项目" 标题解释 本文主要介绍如何使用Eclipse创建基于Maven的Web项目,包括建立Maven项目、配置项目、构建框架等步骤。 描述解释 使用Eclipse创建Maven版的Web项目需要通过Maven的...

    非maven项目集成minIO所需要的jar包

    在非Maven项目中集成MinIO可能涉及到手动管理依赖项,这确实是一项挑战,因为需要确保所有必需的jar包正确无误。标题和描述提到了在非Maven项目中集成MinIO时可能会遇到的jar包冲突问题。 以下是你提供的压缩包中的...

    Maven项目整合Kafka

    使用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项目所需的tools.jar文件

    maven项目里面pom文件所需的tools.java文件,百分之百管用,下载好直接复制到java安装目录下即可使用

    maven项目转动态web项目,部署到tomcat

    "Maven 项目转动态 Web 项目并部署到 Tomcat" Maven 项目转动态 Web 项目并部署到 Tomcat 是一个常见的操作,特别是在 Eclipse 和 Tomcat 环境下。本文将详细介绍如何将 Maven 项目转换为动态 Web 项目,并将其部署...

    maven项目eclipse导入步骤(可以让你的maven项目正常运行)

    ### Maven项目Eclipse导入步骤详解 #### 一、前言 在进行软件开发时,Maven作为一款自动化构建工具,能够极大地提高项目的构建效率。而在实际工作中,我们常常需要将Maven项目导入到Eclipse IDE中进行开发。本文将...

    在IDEA的maven项目中连接并使用MySQL8.0的方法教程

    1.使用骨架创建maven项目,此处选择:maven-archetype-quickstart 2.填入GroupId和ArtifactId 3.第一个选中maven安装的文件夹,第二个选中maven安装文件夹中的conf/settings.xml,第三个如果settings.xml中配置了...

    Eclipse开发的maven项目,导入Idea ~~ 超简单

    今日,将原先在eclipse上开发的Maven项目导入idea中,启动报错,项目在eclipse中启动百分百是没有问题,误以为是IDEA打开项目的动作错误,在网上查了很多资料,各种操作五花八门,尝试了遍,结果还是不行。...

    基于elasticjob的入门maven项目

    基于elasticjob的入门maven项目 基于elasticjob的入门maven项目 基于elasticjob的入门maven项目 基于elasticjob的入门maven项目 基于elasticjob的入门maven项目 基于elasticjob的入门maven项目 基于elasticjob的入门...

    maven项目构建文档

    1. **依赖冲突**: 如果多个依赖引入了同一个库的不同版本,Maven可能会遇到版本冲突。可以通过调整依赖的`scope`(范围)或使用`exclusions`标签排除不必要的依赖。 2. **网络问题**: 如果下载依赖缓慢,可以配置`...

    Maven在eclipse中的项目启动命令

    ### Maven在Eclipse中的项目启动命令详解 #### 一、Maven简介 Maven是一款流行的自动化构建工具,它主要用于Java项目的构建与管理。Maven通过一个中心信息文件`pom.xml`来管理项目的构建过程、依赖关系以及其他...

    java创建一个简单的Maven项目

    java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一...

    idea使用maven创建web项目详细教程

    pom.xml 文件是 Maven 项目的核心配置文件,用于定义项目的信息、项目依赖、引入插件等。通过 pom.xml 文件可以定义项目的依赖关系,例如引入 Servlet 的依赖关系。 6. 依赖管理 在 Maven 项目中,依赖关系是通过 ...

    maven项目引用外部jar包的方法

    当我们在开发Maven项目时,往往会遇到需要引入外部jar包的情况。本文将详细介绍在Maven项目中引用外部jar包的几种方法,帮助开发者们解决项目构建和运行时可能遇到的问题。 ### Maven项目引用外部jar包的重要性 在...

    用myeclipse 直接部署MAVEN项目和调试

    Maven作为Java项目管理和构建工具,已经成为了许多开发者的首选。MyEclipse,作为一个强大的集成开发环境(IDE),提供了对Maven项目的良好支持。本文将详细阐述如何在MyEclipse中直接部署Maven项目以及进行调试。 ...

Global site tag (gtag.js) - Google Analytics