欢迎来到天天文库
浏览记录
ID:32417921
大小:430.72 KB
页数:5页
时间:2019-02-04
《圣思园unittest上课笔记》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、UnitTestLesson11.使用Junit的最佳实践:1)新建一个名为test的sourcefolder,用于存放测试类源代码2)目标类与测试类应该位于同一个包下面,这样测试类中就不必导入源代码所在的包,因为他们位于同一个包下面3)测试类的命名规则:假如目标类是Calculator,那么测试类应该命名为TestCalculator或者是CalculatorTest2.Junit的口号:keepthebargreentokeepthecodeclean。3.我的名言:Noreflection,nomost
2、frameworks4.Junit:单元测试不是为了证明您是对的,而是为了证明您没有错误。5.测试用例(TestCase)是单元测试的一个很重要的方面。6.单元测试主要是用来判断程序的执行结果与自己期望的结果是否一致。7.测试类必须要继承于TestCase父类。8.在junit3.8中,测试方法需要满足如下原则:1).public的2).void的3).无方法参数4).方法名称必须以test开头9.TestCase之间一定要保持完全的独立性,不允许出现任何的依赖关系。10.我们不能依赖于测试方法的执行顺序。1
3、1.DRY(Don’tRepeatYourself)。12.关于setUp与tearDown方法的执行顺序:1)setUp2)testAdd3)tearDown13.两个作业(MyStack的测试用例的编写,文件删除方法的测试用例的编写)14.测试之前是什么状态,测试执行完毕后就应该是什么状态,而不应该由于测试执行的原因导致状态发生了变化。UnitTestLesson21.测试类的私有方法时可以采取两种方式:1)修改方法的访问修饰符,将private修改为default或public(但不推荐采取这种方式)。
4、2)使用反射在测试类中调用目标类的私有方法(推荐)。2.TestSuite(测试套件):可以将多个测试组合到一起,同时执行多个测试。3.JUnit4全面引入了Annotation来执行我们编写的测试。4.JUnit4并不要求测试类继承TestCase父类。5.在一个测试类中,所有被@Test注解所修饰的public,void方法都是testcase,可以被JUnit所执行。6.虽然JUnit4并不要求测试方法名以test开头,但我们最好还是按照JUnit3.8的要求那样,以test作为测试方法名的开头。7.在
5、JUnit4中,通过@Before注解实现与JUnit3.8中的setUp方法同样的功能,通过@After注解实现与JUnit3.8中的tearDown方法同样的功能。8.在JUnit4中,可以使用@BeforeClass与@AfterClass注解修饰一个publicstaticvoidno-arg的方法,这样被@BeforeClass注解所修饰的方法会在所有测试方法执行前执行;被@AfterClass注解所修饰的方法会在所有测试方法执行之后执行。9.@Ignore注解可用于修饰测试类与测试方法,当修饰测试
6、类时,表示忽略掉类中的所有测试方法;当修饰测试方法时,表示忽略掉该测试方法。10.参数化测试(Parameters):当一个测试类使用参数化运行器运行时,需要在类的声明处加上@RunWith(Parameterized.class)注解,表示该类将不使用JUnit内建的运行器运行,而使用参数化运行器运行;在参数化运行类中提供参数的方法上要使用@Parameters注解来修饰,同时在测试类的构造方法中为各个参数赋值(构造方法是由JUnit调用的),最后编写测试类,它会根据参数的组数来运行测试多次。11.在JUn
7、it4中,如果想要同时运行多个测试,需要使用两个注解:@RunWith(Suite.class)以及@Suite.SuiteClasses(),通过这两个注解分别指定使用Suite运行器来运行测试,以及指定了运行哪些测试类,其中的@SuiteClasses中可以继续指定Suite,这样JUnit会再去寻找里面的测试类,一直找到能够执行的TestCase并执行之。12.JUnit在TestCase类中应用了模板方法模式:13.JUnit在TestCase类中应用了适配器(Adapter)模式:在runBare方
8、法中,通过runTest方法将我们自己编写的testXXX方法进行了适配,使得JUnit可以执行我们自己编写的TestCase,runTest方法的实现如下:在runTest方法中,首先获得我们自己编写的testXXX方法所对应的Method对象(不带参数),然后检查该Method对象所对应的方法是否是public的,如果是则调用Method对象的invoke方法来去执行我们自己编写的testXXX
此文档下载收益归作者所有