软件测试2019:第二次作业

什么是JUnit

JUnit是一个Java语言的单元测试框架,junit是在xp编程和重构中被极力推荐使用的工具,因为在实现自动单元测试的情况下可以大大的提高开发的效率,Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何完成功能和完成什么样的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。

 

什么是单元测试

单元测试是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。

 

JUnit 的主要特性

1.可以使测试代码与产品代码分开,更有利于代码的打包发布和测试代码的管理。

2.提供了一个编写测试类的框架,使测试代码的编写更加方便。

3.易于集成到程序中的构建过程中。

4.源代码是公开的,可以进行二次开发。

5.具有很强的扩展性。

 

JUnit包括的类

(TestCase抽象类、TestSuite、TestResult、TestRunner4个重要的类)TestListenter、Test接口、Assert类。

 

JUnit3.x、JUnit4

JUnit3.x:

1.使用junit3.x版本进行单元测试时,测试类必须要继承于TestCase父类。

2.测试方法需要遵循的原则:public、void、无方法参数、方法名称必须以test开头。

3.不同的Test Case之间一定要保持完全的独立性,不能有任何的关联。

4.我们要掌握好测试方法的顺序,不能依赖于测试方法自己的执行顺序。

JUnit4:

1.使用junit4版本进行单元测试时,不用测试类继承TestCase父类,因为,junit4全面引入了Annotation执行我们编写的测试。

2.junit4版本,引用了注解的方式,进行单元测试。

3.junit4版本我们常用的注解:

a.@Before 注解:与junit3.x中的setUp()方法功能一样,在每个测试方法之前执行。

b.@After 注解:与junit3.x中的tearDown()方法功能一样,在每个测试方法之后执行。

c.@BeforeClass 注解:在所有方法执行之前执行。

d.@AfterClass 注解:在所有方法执行之后执行。

e.@Test(timeout = xxx) 注解:设置当前测试方法在一定时间内运行完,否则返回错误。

f.@Test(expected = Exception.class) 注解:设置被测试的方法是否有异常抛出。抛出异常类型为:Exception.class。

g.@Ignore 注解:注释掉一个测试方法或一个类,被注释的方法或类,不会被执行。

 

小结

JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。

 

posted @ 2019-03-24 16:37  丁逸trigger  阅读(164)  评论(0编辑  收藏  举报