发表于: 2017-12-12 17:14:24
2 588
前面都基本了解了关于测试的一下内容
今天就做单元测试的练习任务
1.先是新建了一个项目(测试的项目)
这次是maven的管理项目的测试通过pom.xml来管理jar的添加
主要是添加Junit的jar包加入下面的代码在pom.XML里面
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
还有一些其他的maven的相关配置
groupID 包的后缀名 字符的编码
2.创建一个简单的相加的实体addService接口
3.接下来就是测试的类的调用测试
上面的的是一个简单的单元测试
下面的还有测试的代码测试的执行不同的顺序的不同的注解
package com.fuwei.junit.maven;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class AddServiceImplTest {
private AddService addService;
@BeforeClass //全局只会执行一次,而且是第一个运行
public static void beforeClass() {
System.out.println("beforeClass invoked.");
}
@Before //在测试方法运行之前运行
public void setUp() {
System.out.println("初始化");
addService = new AddServiceImpl();
}
/**
* 测试方法
* @Test注解提供2个参数
* “expected”,定义测试方法应该抛出的异常,如果测试方法没有抛出异常或者抛出了一个不同的异常,测试失败
* “timeout”,如果测试运行时间长于该定义时间,测试失败(单位为毫秒)
*/
@Test
public void testAdd() {
assertTrue(addService.add(1, 1) == 2);
assertEquals(2,addService.add(1, 1));
System.out.println("addService.add(1, 1)"+"="+addService.add(1, 1));
}
@Test
public void testAdd1() {
assertSame(addService.add(1, 2) , 3);
}
@After //在测试方法运行之后允许
public void tearDown() {
addService = null;
System.out.println("测试退出");
}
@AfterClass //全局只会执行一次,而且是最后一个运行
public static void afterClass() {
System.out.println("afterClass invoked.");
}
}
运行成功
最后测试的执行顺序的打印是
@BeforeClass---->@Before---->@test----->@After---->@AfterClass
(而且全局只会执行一次)
今天的任务完成了感觉还是不错的
今天完成事情:完成了再maven的pom.xml 的对jar包的管理下,完成了单元的测试,后面还涉及到不同的测试的执行的顺序,jar包的添加就是在pom.xml里面配置
明天的任务:完成debug的测试准备用以前的JdbcTemplate的里面怎么获取后台的值来完成debug的传值的测试(以前有查错的时候有打过断点来看值的获取没有)
今天遇到的困难:这个测试是建立在前面几次的测试的基础上,完成的比较顺利,还是挺有收获的
今天的收获:测试的基本的还是和前面的一样@test,就是在单元测试了解了关于那个不同的执行顺序例如@BeforeClass执行在@Before前面,这现在才了解这个执行的顺序.
荆轲刺秦王----->加油 坚持
评论