jUnit - 入门介绍

原创
2015/07/15 17:43
阅读数 142

测试很重要,不解释。在此介绍jUnit测试工具的使用。

环境:

eclipse, Maven

第一步: 在Eclipse中创建一个空的Maven工程

这个空的Maven工程自带了一个版本的jUnit,这个在 pom.xml 文件中可以看到,我们可以改成最新的junit版本,或者不变。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>kuangcaibao</groupId>
  <artifactId>junitTest</artifactId>
  <version>0.0.1</version>
  <packaging>jar</packaging>

  <name>junitTest</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

第二步:编写测试示例

在Eclipse的Maven工程中,其默认创建了2个文件夹:main 和 test, 在main文件夹中存放我们实现的代码类,在test中实现我们的测试类。例如我们在main中创建一个 Calculator 类,那么对应的测试类名为 CalculatorTest 类,一一对应,这样使用Eclipse中的 junit test功能选项就可以运行测试类了,输出测试报告。(其实名称是不重要的。)下面贴出对应的代码。

// Calculator.java
package kuangcaibao.junitTest;
public class Calculator {

	public int evaluate(String expression) {
		int sum = 0;
		for(String summand : expression.split("\\+")) {
			sum += Integer.valueOf(summand);
		}
		
		return sum;
	}
// CalculatorTest.java
package kuangcaibao.junitTest;

import static org.junit.Assert.assertEquals;
import org.junit.Test;

public class CaculatorTest {

	@Test
	public void evaluatesExpression() {
		Calculator calculator = new Calculator();
		int sum = calculator.evaluate("1+2+3");
		assertEquals(6, sum);
	}
	
	@Test
	public void evaluatesExpression1() {
		Calculator calculator = new Calculator();
		int sum = calculator.evaluate("1+2+3");
		assertEquals(-6, sum);
	}
}

运行测试用例,输入测试结果。鼠标右击junitTest工程 -> Run As -> JUnit Test, 或者是  Run As -> Maven Test就会在 Eclipse的相应窗口上输入测试结果了。

jUnit相关语法:

jUnit是一个测试工具,我们需要使用jUnit测试工具,那么我们就应该遵循jUnit的测试语法。这些介绍在jUnit的官网上面都可以看到。先简单测试下jUnit的工作方式,看下下面2个测试类,CalculatorTest1.java, CalculatorTest2.java

// CalculatorTest1.java
package kuangcaibao.junitTest;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

public class CalculatorTest1 {

	@Test
	public void Test1() {
		Calculator calculator = new Calculator();
		int sum = calculator.evaluate("1+2+3");
		assertEquals(6, sum);
	}
}
// CalculatorTest2.java
package kuangcaibao.junitTest;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

public class CalculatorTest2 {

	@Test
	public void Test2() {
		Calculator calculator = new Calculator();
		int sum = calculator.evaluate("1+2+3");
		assertEquals(-6, sum);
	}
}

运行jUnit Test,可以看到输出结果: Runs: 2/2   Errors:0  Failures: 1,第2个测试失败了,这也符合我们的测试预期。可以看到除了将测试文件放到 test 文件夹下,在eclipse中启动测试时,会自动在 test 文件夹下去找测试实例,和文件名没有关系,估计是注解  @Test 起了作用。现在应该知道jUint是个什么回事了。

在上面的例子中,我们仅仅用到了  @Test   和   assertEquals()  这2个最基本,也是最重要的元素。更多介绍在官网上有详细的描述。

Assertions 的各种用法:https://github.com/junit-team/junit/wiki/Assertions

测试用例执行顺序的说明: https://github.com/junit-team/junit/wiki/Aggregating-tests-in-suites

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部