知识大全 JUnit测试建议

Posted

篇首语:学而不思则罔,思而不学则殆。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JUnit测试建议相关的知识,希望对你有一定的参考价值。

JUnit测试建议  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  以下是对JUnit实践的一个很好的总结 信息来源于一些比较权威的JUnit书籍和网上资料 这里集合如下

   每次只对一个对象进行UT测试(unit test one object at a time) 这样能使你尽快发现问题 而不被各个对象之间的复杂关系所迷惑

   给测试方法起个好名字(choose meaningful test method names) 应该是用形如testXXXYYY() 这样的格式来命名你的测试方法 前缀test是Junit查找测试方法的依据 XXX应该是你测试的方法名 YYY应该是你测试的状态 当然如果你只有一种状态需要测试可以直接命名为testXXX()

   明确写出出错原因(explain the failure reason in assert calls) 在使用assertTrue assertFalse assertNotNull assertNull方法时 应该将可能的错误的描述字符串 以第一个参数传入相应的方法 这样你可以迅速的找出出错原因

   一个UT测试方法只应该测试一种情况(one unit test equals one testMethod) 一个方法中的多次测试 只会混乱你的测试目的

   测试任何可能的错误(test anything that could possibly fail) 你的测试代码不是为了证明你是对的 而是为了证明你没有错 因此对测试的范围要全面 比如边界值 正常值 错误值 对代码可能出现的问题要全面预测

   让你的测试帮助改善你的代码(let the test improve the code) 测试代码永远是我们代码的第一个用户 所以不仅让他帮组我们发现Bug 还要帮组我们改善我们的设计 就是有名的测试驱动开发(Test Driven Development TDD)

   一样的包 不同的位置(same package separate directories) 测试的代码和被测试的代码应该放到不同的文件夹中 建议使用这种目录 src/java/代码 src/test/测试代码 这样可以让两份代码使用一样的包结构 但是放在不同的目录下

   关于setup与teardown

  a) 不要用TestCase的构造函数初始化Fixture 而要用setUp()和tearDown()方法

  b) 在setUp和tearDown中的代码不应该是与测试方法相关的 而应该是全局相关的 如 针对与测试方法都要用到的数据库链接等等

  c) 当继承一个测试类时 记得调用父类的setUp()和tearDown()方法

   不要在mock object中牵扯到业务逻辑(don t write business logic in mock objects)

   只对可能产生错误的地方进行测试(only test what can possibly break) 如 一个类中频繁改动的函数 对于那些仅仅只含有getter/setter的类 如果是由IDE(如Eclipse)产生的 则可不测 如果是人工写 那么最好测试一下

   尽量不要依赖或假定测试运行的顺序 因为JUnit利用Vector保存测试方法 所以不同的平台会按不同的顺序从Vector中取出测试方法

   避免编写有副作用的TestCase 你要确信保持你的测试方法之间是独立的

   将测试代码和工作代码放在一起 一边同步编译和更新(使用Ant中有支持junit的task)

   确保测试与时间无关 不要依赖使用过期的数据进行测试 导致在随后的维护过程中很难重现测试

   如果你编写的软件面向国际市场 编写测试时要考虑国际化的因素 不要仅用母语的Locale进行测试

   尽可能地利用JUnit提供地assert/fail方法以及异常处理的方法 可以使代码更为简洁

   测试要尽可能地小 执行速度快

cha138/Article/program/Java/ky/201311/28099

相关参考

知识大全 Jython开发的JUnit测试包

Jython开发的JUnit测试包  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JUnit测试

知识大全 关于junit实现过程详细介绍

  测试分类白箱测试黑箱测试单元测试集成测试功能测试……白箱测试是指在知道被测试的软件如何(How)完成功能和完成什么样(What)的功能的条件下所作的测试一般是由开发人员完成单元测试是一种白箱测试因

知识大全 JBuilder2005单元测试之JUnit框架

JBuilder2005单元测试之JUnit框架  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Spring+Hibernate的单元测试JUnit

Spring+Hibernate的单元测试JUnit  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Eclipse中建立自己的JUnit测试[3]

Eclipse中建立自己的JUnit测试[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  很

知识大全 Eclipse中建立自己的JUnit测试[2]

Eclipse中建立自己的JUnit测试[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在

知识大全 Eclipse中建立自己的JUnit测试[1]

Eclipse中建立自己的JUnit测试[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这

知识大全 Eclipse中建立自己的JUnit测试[4]

Eclipse中建立自己的JUnit测试[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  现

知识大全 使用JUnit对EJB进行单元测试[3]

使用JUnit对EJB进行单元测试[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 使用JUnit对EJB进行单元测试[2]

使用JUnit对EJB进行单元测试[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!