junit4整理

junit 快速入门

简介

unit是xUnit的一个子集,在c++,paython,java语言中测试框架的名字都不相同<br>
<br>
断言机制:将程序预期的结果与程序运行的最终结果进行比对,确保对结果的可预知性<br>
hamcrest-core设置匹配集规则的框架,可用来增强junit的功能
JUnit3:必须继承junit.framework.TestCase这个类,在方法前面必须加上test最为前缀
JUnit4:只要加上@Test注解即可,不需要继承任何类,命名没有限制


2.junit 使用详解

  1. 导入jar(右键Build Path --> Add Libraries --> Junit --> Junit4)
    2.新建测试类:右键需测试类所在包new --> JUnit Test Case参照自动生成的测试类模板(可删除),写自己的测试方法
    3.运行测试:测试文件右键 --> Run as JUnit Test
    4.Junit视图:
    状态条(绿色——测试成功;红色——测试失败)
    方法或类的列表
    assertEquals(xxx,xxx),断言。第一个参数是预期值。第二个参数是程序运行的值

2要求规范

1、         测试方法前面必须有@test修饰<br>
2、测试方法名前面为public void,且不带参数,如public void atest(){}<br>
3、最好测试代码单独存放一个文件夹<br>
4、测试类的包和被测试类的包需保持一致<br>
5、测试单元中的每个方法必须独立测试,测试方法间无依赖。<br>
6、测试类名为 XxxTEst,测试方法名为testXxx

3.错误

当测试结果不是绿色的时候。failure一般是单元测试使用的断言方法判断失败引起的,表明测试点发现了问题,即输出和预期不一样。error则是代码异常,比如测试代码本身错了,或者被测试代码中有bug。
这种测试只能证明你的逻辑实现没错,不代表你的逻辑是对的。

3.junit的深入使用  

     1.测试流程

beforeClass
before
test1
after
before
test2
after
afterClass

1、@BeforClass在所有方法调用前执行,属于静态方法,在测试类被加载之后就会运行,只存在一份实例,即只在最开始运行一次,适合用来加载配置文件。
2、@AfterClass在所有方法执行完才执行一次,适合用来做对资源的清理,内存的释放之类。
3、@Before和@After在每个测试方法前/后执行一次。

2.常用注解

@Test(expected=ArithmeticException.class){...}预料的结果为报错。
@Test(expected=XX.class)
@Test(timeout=xx(毫秒))无限运行时可强制退出,亦可作性能测试的标准。
@Ignore 忽略此方法
@Runwith 更改测试运行器

3.测试套件

1.测试套件就是组织测试类一起运行的
2.写一个作为测试套件的入口类,这个类里不包含其他的方法。
3.更改测试运行器Suite.class.
4.将要测试的类作为数组传入到Suite.SuiteClasses({})

4.参数

1.更改默认的测试运行器为RunWith(Parameterized.class)
2.声明变量存放预期值和结果值
3.声明一个返回值为Collection的公共静态方法,并使用@Parameters进行修饰
例如:
public static Collection<Object[]>t(){
return Arrays.asList(new Object[][]{{3,2,1}{4,2,2}});
}
4.为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值(预期值、输入参数值等)

Spring与Hibernate的整合测试

1,添加spring,hibernate,MySQL等jar包
2,添加spring配置文件,hibernate配置文件
3,@BeforeClass获得spring的配置文件ClassPathXmlApplicationContext("配置文件")
4,测试通过getBean获得spring管理的bean是否成功。

测试总结

了解一个东西基本是这样的
1:有什么——知道有这么个东西
2:是什么——知道这个东西什么东东
3:做什么——知道这个东西能做什么事情
5:怎么做——知道这个东西怎么用
6:为什么——知道这个东西怎么设计,为什么是这个东西
7:下一个——清楚的了解一个东西后,要么再深入,要么换一个研究的对象,一个是纵向探索,一个是横向扩展,听视屏的讲解基本上能到大第5层,如果想更上一层楼第6、7层是必须要走的,这一层,就需要自己独自的探索了,去哪里哪?去官网?去和这个东西的创造者、发扬者去沟通和交流?去大自然中?去自己的想像之中?

原文地址:https://www.cnblogs.com/thehugo/p/5599797.html