如何使用JUNIT?
- JUNIT是什么?
Junit是xUnit的一个自己,在C++,python,java语言中测试框架的名字都不相同,JUNIT 是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。
注意:Junit 测试也是程序员测试,即所谓的白盒测试,它需要程序员知道被测试的代码如何完成功能,以及完成什么样的功能
- Junit能干什么?
使用Junit能让我们快速的完成单元测试。
通常我们写完代码想要测试代码的正确性,必须新建一个类,然后创建一个main()方法,然后编写测试代码。如果需要测试的代码很多的话,就需要要么创建很多mian()方法,要么全部编写到一个main()方法里。这会大大增加测试代码的复杂程度,降低程序员测试积极性。而Junit能很好的解决这个问题,简化单元测试,写一点测一点,在编写以后的代码中若果发现问题可以较快追踪到问题的原因,减小回归错误的纠错程度。
- 在Eclipse下使用Junit测试
Eclipse中集成有Junit的环境,不需要我们手动导入Junit的jar包。
导入Juit的环境:
右键 -> Build Path -> Configure BuildPath -> Libraries -> Add Library -> 将Junit添加进入工程。
编写测试类-> 右键 -> Run as -> Junit Test
结果出现如下的绿色横条,则测试通过,红色横条,测试失败。
集中类似于@Test的注解
Test:测试方法:
(expected =XXExpection.class)如果程序的异常与XXExpection.class一样,则检测通过。
(timeout=100)如果程序的执行能在100毫秒之内完成,则测试通过。
@Ignore:被忽略的测试方法:加上之后,暂时不运行此段代码。
@Before:每一个测试方法之前运行
@After:每一个测试方法之后运行
@BeforeClass: 方法必须要用static声明,所有测试开始之前运行,注意区分@Before,是所有测试方法。
@AfterClass:方法必须要用static声明,所有测试结束之后运行,注意区分@After。
编写测试类的原则:
测试方法上必须使用@Test进行修饰。
测试方法必须使用public void进行修饰,不能带任何参数
新建一个源代码目录来存放我们的测试代码,将测试代码和项目业务代码分隔开。
测试类所在的包名应该和被测试类所在的包名保持一致。
测试单元中的每个方法必须可以独立测试,测试方法见不能有任何依赖。
测试类尽量使用Test作为类名的后缀。
测试方法尽量使用test作为方法名的前缀。
其他
如果测试的方法多,不想一个个的建立测试方法,那么:
- 选择要测试的方法,选择New,选择other
- 选择Junit下的Junit Test Case
- 选择test文件夹,并选择要进行测试的类名。
- 得到创建结果
在此基础上进行修改测试类的方法
测试结果中关于Failure 和error的解释
Failure一般由测试单元使用断言方法判断失败引起的,这个报错,说明测试点发现了问题,即程序的输出结果和我们预期的不一样。
Error是由代码一场引起的,它可以产生代码本身的错误,也可以是测试代码中的一个隐藏的bug.
版权归原作者 小牛冲冲 所有, 如有侵权,请联系我们删除。