一种新的单元测试的方法 单元测试工具
一种新的单元测试的方法意味着什么?难道说Junit或许TestNG还不够好?Junit(这里我提及到它由于它简朴,然而在我的探讨中,TestNG 也一样简朴 from here on I’ll nominate it only for briefness,but TestNG is the same for my discussion)把测试类作为重点,并且一切的测试都是从那里开端。这意味着事实上,被测试类被以为仅仅存在于测试代码中,顺序员只能通过它们运用的名字通例来找到这些被测试类。
在旧版本的Junit中,你设计的测试类,须要强迫继续Junit框架中的类,并且将调用的方法须要用“test“扫尾。因而按这个通例来命名测试类和测试方法,并把他们与被测试的类和方法“衔接”起来。我想你会赞同,TestNG和Junit4给了咱们更多的自在,去掉这些请求。不论怎么,被测试的类和方法和咱们的测试类依然是这样逻辑的联络在一起,并且很多测试类依然遵照那些旧的通例。
然而有很多更好的方法来命名类和方法!我来介绍BDD(Behaviour Driven Development),请注重BDD不是这篇文章的重点,然而它使我这篇文章更加圆满。因而,让咱们先用少许文字理解BDD吧。
BDD不只是一个新的写测试的方法,也是一个按商定的新的设计情势
引用behaviour-driven。org来开端我的介绍:
BehaviourDrivenDevelopment grew out of a thought experiment based on NeuroLinguisticProgramming techniques。 The idea is that the words you use influence the way you think about something
BDD发生自一个基于神经言语计划学技巧的试验的想法。这个想法是你用的言语会影响你斟酌问题的方法。
这个想法是须要顺序员关注用来描写一个测试类或许方法的词语,由于所选的词语将影响到他们对这个问题的关注点。实践上,采取BDD方法写测试类时,相比这些被测试的类÷方法自身,咱们将更加关注这些被测试类÷方法的行动。当然,这也将转变很多咱们写测试代码的方法,比方,咱们将对一个方法测试屡次来验证每个行动能否准确。
OK, what if I don’t believe on Neuro Linguistic Programming(神经言语计划学)?能否我还不信任神经言语计划学。好的,从一个地道的开发者角度来看,咱们依据咱们的类和方法的行动作为商定来命名测试,因而,这个测试后果将是相对清楚的(比方,
“shouldAcceptNullValue fails”就是一个清楚的表白,并不须要庞杂的报告)。让咱们供给一个简朴的例子:
Java代码
1。 @Test( expected = IllegalArgumentException。class )
2。 public void shouldNotPermitMethodNull() throws Exception 【
3。 【。。】
4。 】
5。 @Test( expected = IllegalArgumentException。class )
6。 public void shouldNotPermitEndPointNull() throws Exception 【
7。 】
8。 @Test
9。 public void shouldInitWebParams() throws Exception 【
10。 】
11。 @Test
文章来源于领测软件测试网 https://www.ltesting.net/