JUnit 测验主张ITeye - 威尼斯人

JUnit 测验主张ITeye

2019年02月20日08时21分09秒 | 作者: 赢赢 | 标签: 测验,办法,代码 | 浏览: 1941

以下是对JUnit实践的一个很好的总结,信息来源于一些比较威望的JUnit书本和网上材料。这儿调集如下:

1、每次只对一个目标进行UT测验(unit-test one object at a time)。这样能使你赶快发现问题,而不被各个目标之间的复杂关系所利诱。

2、给测验办法起个好名字(choose meaningful test method names)。应该是用形如testXXXYYY(),这样的格局来命名你的测验办法。前缀test是Junit查找测验办法的根据,XXX应该是你测验的办法名,YYY应该是你测验的状况。当然假如你只要一种状况需求测验能够直接命名为testXXX()。

3、清晰写出犯错原因(explain the failure reason in assert calls)。在运用assertTrue,assertFalse,assertNotNull,assertNull办法时,应该将或许的过错的描绘字符串,以第一个参数传入相应的办法。这样你能够敏捷的找出犯错原因。

4、一个UT测验办法只应该测验一种状况(one unit test equals one testMethod)。一个办法中的屡次测验,只会紊乱你的测验意图。

5、测验任何或许的过错(test anything that could possibly fail)。你的测验代码不是为了证明你是对的,而是为了证明你没有错。因而对测验的规模要全面,比方鸿沟值、正常值、过错值;对代码或许呈现的问题要全面猜测。

6、让你的测验协助改进你的代码(let the test improve the code)。测验代码永远是咱们代码的第一个用户,所以不只让他帮组咱们发现Bug,还要帮组咱们改进咱们的规划,就是有名的测验驱动开发(Test-Driven Development,TDD)。

7、相同的包,不同的方位(same package, separate directories)。测验的代码和被测验的代码应该放到不同的文件夹中,主张运用这种目录 src/java/代码 src/test/测验代码。 这样能够让两份代码运用相同的包结构,可是放在不同的目录下。

8、关于setup与teardown

a) 不要用TestCase的结构函数初始化Fixture,而要用setUp()和tearDown()办法。

b) 在setUp和tearDown中的代码不该该是与测验办法相关的,而应该是大局相关的。如:针对与测验办法都要用到的数据库链接等等。

c) 当承继一个测验类时,记住调用父类的setUp()和tearDown()办法。

9、不要在mock object中牵扯到事务逻辑(don’t write business logic in mock objects)。

10、只对或许发生过错的当地进行测验(only test what can possibly break)。如:一个类中频频改动的函数。关于那些仅仅只含有getter/setter的类,假如是由IDE(如Eclipse)发生的,则可意外;假如是人工写,那么最好测验一下。

11、尽量不要依靠或假定测验运行的次序,由于JUnit运用Vector保存测验办法。所以不同的渠道会按不同的次序从Vector中取出测验办法。

12、防止编写有副作用的TestCase,你要坚信坚持你的测验办法之间是独立的。

13、将测验代码和作业代码放在一同,一边同步编译和更新(运用Ant中有支撑junit的task)。

14、保证测验与时刻无关,不要依靠运用过期的数据进行测验。导致在随后的保护过程中很难重现测验。

15、假如你编写的软件面向国际市场,编写测验时要考虑国际化的要素。不要仅用母语的Locale进行测验。

16、尽或许地运用JUnit供给地assert/fail办法以及反常处理的办法,能够使代码更为简练。

17、测验要尽或许地小,履行速度快。

原文:http://my.oschina.net/henrydong/blog/143794

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表威尼斯人立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章