Maven Junit单元测试入门

参考自敲代码的卡卡罗特七夜 雪

1、先新建完成一个基本的maven项目,如maven 入门例子。新建功能类包、测试类包,结构如下:

2、编写功能类Calculator

package com.function;

public class Calculator {

	public int add(int a,int b){
		return a+b;
	}
	
	public int subtract(int a,int b){
		return a-b;
	}
	
	public int multiply(int a,int b){
		return a*b;
	}
	
	public int divide(int a,int b){
		return a/b;
	}
}

3、在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>com.gan</groupId>
  <artifactId>mavenFirst</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>mavenFirst</name>
  <description/>
  <properties>
    <webVersion>3.1</webVersion>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  
  	
    <dependencies> 
	  	<dependency>
	  		<groupId>javax.servlet</groupId>
	  		<artifactId>javax.servlet-api</artifactId>
	  		<version>3.0.1</version>
	  	</dependency>
	  	
	  	<dependency>
	  		<groupId>javax.servlet</groupId>
	  		<artifactId>jstl</artifactId>
	  		<version>1.2</version>
	  	</dependency> 
	  	
	  	<!-- 配置单元测试junit的支持包 -->
	  	<dependency>
	  		<groupId>junit</groupId>
	  		<artifactId>junit</artifactId>
	  		<version>4.11</version>
	  		<scope>test</scope><!-- 只在测试时加载包 -->
	  	</dependency> 	
	  	
	  	<dependency>
	  		<groupId>org.springframework</groupId>
	  		<artifactId>spring-test</artifactId>
	  		<version>4.0.2.RELEASE</version>
	  		<scope>test</scope>
	  	</dependency>
  </dependencies>
  
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <failOnMissingWebXml>false</failOnMissingWebXml>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

4、编写测试基类BaseTest

package com.test;

import org.junit.After;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration    // enable WebApp Test Support  
//@ContextConfiguration({"classpath:spring-mvc.xml","classpath:spring-mybatis.xml"})
public class BaseTest {

	@Before
	public void init(){
		//在运行测试之前的业务代码
	}
	
	@After
	public void after(){
		//在测试完成值之后的业务代码
	}
}

5、右键Calculator选择new——other——Junit Test Case

选择src/test/java文件夹、com.test包,类名默认、添加BaseTest父类

next,勾选需要测试的方法,finish完成

6、实现完成测试方法

package com.test;

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

import org.junit.Test;

import com.function.Calculator;

	/**
	  * junit的测试方法必须使用 @ Test 注解
	  * 测试方法必须以public void修饰,并且不包含参数
	  */

public class CalculatorTest extends BaseTest {

	@Test
	public void testAdd() {
		/**
		 * assertEquals是一个断言方法
		 * 第一个参数表示预期的结果
		 * 第二个参数表示程序的执行结果
		 * 但预期的结果与执行结果一致时,则表示单元测试成功
		 */
		assertEquals(4,new Calculator().add(2,2));
	}

	@Test
	public void testSubtract() {
		assertEquals(5,new Calculator().subtract(6, 1));
	}

	@Test
	public void testMultiply() {
		assertEquals(8,new Calculator().multiply(2, 4));
	}

	@Test
	public void testDivide() {
		assertEquals(1,new Calculator().divide(6, 0));
	}

}

7、保存,右键Run as——JUnit Test

可以看到除数为零错误

猜你喜欢

转载自blog.csdn.net/zero_130/article/details/81479079