`
charice59
  • 浏览: 9425 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

junit4简单入门

阅读更多

有人说我们再java程序中使用main方法一样可以进行测试,但是有以下点不好的地方:
1、单元测试不能一起运行;
2、大部分情况需要人为地观察;

 

本次junit测试,使用的是maven管理的。所以需要先加入依赖,必须先写hamcrest,再写junit,因为junit内置了一个hamcrest。依赖如下:

<dependency>
  <groupId>org.hamcrest</groupId>
  <artifactId>hamcrest-all</artifactId>
  <version>1.3</version>
</dependency>
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.10</version>
  <scope>test</scope>
</dependency>

 然后写需要测试的代码,简单的加减操作,如下:

public class Calc {
  public int add(int a, int b) {
    return a + b;
  }

  public int sub(int a, int b) {
    return a - b;
  }
}

 首先,我们先简单地写一下单元测试,运行单元测试,看能否正常执行

public class CalcTest {
  @Test
  public void testAdd() {
    System.out.println("add...");
  }
}

 ok,能正常打印出字符串。下面我们加入import包含,测试junit4原始的测试方法

package com.learning.test;

import static junit.framework.Assert.*;
import org.junit.Test;

public class CalcTest {
  @Test
  public void testAdd() {
    assertEquals(5, new Calc().add(1, 4));
  }
}

 下面我们来测试一下junit4新的测试方法,使用assertThat方法。这儿就需要用到hamcrest,这会更接近我们使用的自然语言

package com.learning.test;

import static junit.framework.Assert.*;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.assertThat;

import org.junit.Test;

public class CalcTest {

  @Test
  public void testAdd() {
    System.out.println("add...");
    assertEquals(5, new Calc().add(1, 4));
  }

  @Test
  public void testSub() {
    System.out.println("sub...");
    assertThat(new Calc().sub(5, 1), greaterThan(3));
    assertThat(new Calc().sub(5, 1), lessThan(5));
    assertThat(new Calc().sub(5, 1), is(4));
    assertThat(new Calc().sub(5, 1), allOf(greaterThan(3), lessThan(5)));
  }
}

 同时,junit4还引入了格式标签,例如:

@Ignore  // 忽略此方法
@Before  // 当前类中每个测试方法执行前执行
@After   // 当前类中每个测试方法执行后执行
@BeforeClass  // 当前类中所有测试方法执行前执行,方法必须是static的
@AfterClass   // 当前类中所有测试方法执行后执行,方法必须是static的

 

分享到:
评论

相关推荐

    junit4 快速入门

    junit4 快速入门 比较简单易学,欢迎前来学习

    Junit4单元测试入门例子

    针对Calculate类 (含加减乘除4个方法),使用junit4进行简单的单元测试例子,含注释~

    JUnit入门及简单使用

    很简单的说明,这是好的一个开始,希望大家能够看到,学习测试是很重要的。

    junit4 单元测试源码

    此文件包含源代码(简单加减乘除),测试源码(junit4框架下的单元测试源码),入门级学习材料。Eclipse开发环境下

    Junit4学习笔记—入门篇.pdf

    以一个简单的DEMO介绍如何在Eclipse下使用JUnit4。供初次接触JUnit的同学学习

    Junit入门及应用

    junit的简单介绍

    JUnit+Ant+Jacoco整合 简单的Demo源码

    JUnit+Ant+Jacoco整合 一个小Demo源码,亲测通过,可以作为入门资源。

    willtest:在 JUnit 测试中设置和使用 Selenium WebDriver 的简单方法

    意志测试 不要编辑此文件。 请参阅说明。 概述 Willtest 通过提供一组和其他实用程序类使 JUnit...入门 代码由几个小的构建块组成。 开始编写浏览器测试只需要core模块。 尽管如此, misc模块将通过一些辅助类和一个可

    java-junit-basic:TDD 入门Java 编

    编程简介(Java + JUnit版)为什么要学习编程? “与机器竞争”( )我们...增加产量铁定律“一次做一件事”进球,清除并继续前进小目标=测试测试驱动开发(TDD) 使用Junit进行Java测试入门如何进行练习在Github上分叉

    Netty的简单入门demo

    &lt;groupId&gt;junit &lt;artifactId&gt;junit &lt;version&gt;4.6 &lt;scope&gt;test &lt;!-- https://mvnrepository.com/artifact/io.netty/netty-all --&gt; &lt;groupId&gt;io.netty &lt;artifactId&gt;netty-all &lt;version&gt;4.1.50.Final ...

    junitperf::sailboat:Junit performance rely on junit5 and jdk8+.(java 性能测试框架。性能测试。压测。测试报告生成。)

    可以和 Junit5 完美契合。使用简单,便于项目开发过程中的测试实用。提供拓展,用户可进行自定义开发。特性支持 I18N支持多种报告生成方式,支持自定义Junt5 完美支持,便于 Java 开发者使用变更记录v2.0.7 主要变更...

    Spring从入门到精通 源码

    本书最大的特色在于每章都是由浅入深,从一个简单的示例入手,让读者快速了解本章内容,然后再详细讲解本章涉及的基本原理和知识点,最后再通过一个详细的示例宋巩固所学内容。 本书每一章的例子都是经过精挑细选,...

    hibernate入门小示例

    hibernate入门小示例,平台环境 myeclipse + oracle, 使用junit对hibernate的简单增删改查进行验证,并实现日志记录。

    springDemo初学入门

    spring初学入门demo,包含一个简单的测试类,junit 依赖的包,配置文件,详情可以参考博客文章

    Android单元测试入门详解1

    Android 单元测试入门Start简单了解一下,如何依赖 Junit 进行 Java 代码的单元测试。依旧如何借助 Robolectric 进行 Andro

    Spring从入门到精通(珍藏版)

    本书最大的特色在于每章都是由浅入深,从一个简单的示例入手,让读者快速了解本章内容,然后再详细讲解本章涉及的基本原理和知识点,最后再通过一个详细的示例宋巩固所学内容。 本书每一章的例子都是经过精挑细选,...

    play_入门学习手册

    创建一个简单项目,集成JUNIT单元测试,编写视图显示,创建自定义标签...

    elasticsearch-test入门实例

    基于elasticsearch和Junit单元测试方法对index、search、get、delete的简单操作。 第一步:启动一个elasticsearch服务,bin目录下的elasticsearch.bat 第二步:建索引,执行_Index中单元测试方法index() 第三步:检索,...

    Eclipse从入门到精通.rar

    2.13.1 简单比较....... 66 2.13.2 了解比较....... 67 2.13.3 使用比较....... 69 2.14 历史纪录............. 71 2.15 回应 UI.............. 73 3.喜好设定(Preferences) ...... 76 3.1 工作台(Workbench)....

    Android基础 布局、数据存储访问、XML系列化解析和SharedPreferences入门

    SharedPreferences存储对于简单的键值对形式非常方便快捷,同时文档中介绍了如何实现两个应用程序共享某个文件?对于开发公司系列应用,同时各应用需要交叉访问数据,这一点非常有用。 4、Android权限控制 Android...

Global site tag (gtag.js) - Google Analytics