圣思园UnitTest上课笔记.docx_第1页
圣思园UnitTest上课笔记.docx_第2页
圣思园UnitTest上课笔记.docx_第3页
圣思园UnitTest上课笔记.docx_第4页
圣思园UnitTest上课笔记.docx_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Unit Test Lesson 11. 使用Junit的最佳实践:1) 新建一个名为test的source folder,用于存放测试类源代码2) 目标类与测试类应该位于同一个包下面,这样测试类中就不必导入源代码所在的包,因为他们位于同一个包下面3) 测试类的命名规则:假如目标类是Calculator,那么测试类应该命名为TestCalculator或者是CalculatorTest2. Junit的口号:keep the bar green to keep the code clean。3. 我的名言:No reflection, no most frameworks4. Junit:单元测试不是为了证明您是对的,而是为了证明您没有错误。5. 测试用例(Test Case)是单元测试的一个很重要的方面。6. 单元测试主要是用来判断程序的执行结果与自己期望的结果是否一致。7. 测试类必须要继承于TestCase父类。8. 在junit 3.8中,测试方法需要满足如下原则:1). public的2). void的3). 无方法参数4). 方法名称必须以test开头9. Test Case之间一定要保持完全的独立性,不允许出现任何的依赖关系。10. 我们不能依赖于测试方法的执行顺序。11. DRY(Dont Repeat Yourself)。12. 关于setUp与tearDown方法的执行顺序:1) setUp2) testAdd3) tearDown13 两个作业(MyStack的测试用例的编写,文件删除方法的测试用例的编写)14. 测试之前是什么状态,测试执行完毕后就应该是什么状态,而不应该由于测试执行的原因导致状态发生了变化。Unit Test Lesson 21. 测试类的私有方法时可以采取两种方式:1) 修改方法的访问修饰符,将private修改为default或public(但不推荐采取这种方式)。2) 使用反射在测试类中调用目标类的私有方法(推荐)。2. TestSuite(测试套件):可以将多个测试组合到一起,同时执行多个测试。3. JUnit 4全面引入了Annotation来执行我们编写的测试。4. JUnit 4并不要求测试类继承TestCase父类。5. 在一个测试类中,所有被Test注解所修饰的public,void方法都是test case,可以被JUnit所执行。6. 虽然JUnit 4并不要求测试方法名以test开头,但我们最好还是按照JUnit 3.8的要求那样,以test作为测试方法名的开头。7. 在JUnit 4中,通过Before注解实现与JUnit 3.8中的setUp方法同样的功能,通过After注解实现与JUnit 3.8中的tearDown方法同样的功能。8. 在JUnit 4中,可以使用BeforeClass与AfterClass注解修饰一个public static void no-arg的方法,这样被BeforeClass注解所修饰的方法会在所有测试方法执行前执行;被AfterClass注解所修饰的方法会在所有测试方法执行之后执行。9. Ignore注解可用于修饰测试类与测试方法,当修饰测试类时,表示忽略掉类中的所有测试方法;当修饰测试方法时,表示忽略掉该测试方法。10. 参数化测试(Parameters):当一个测试类使用参数化运行器运行时,需要在类的声明处加上RunWith(Parameterized.class)注解,表示该类将不使用JUnit内建的运行器运行,而使用参数化运行器运行;在参数化运行类中提供参数的方法上要使用Parameters注解来修饰,同时在测试类的构造方法中为各个参数赋值(构造方法是由JUnit调用的),最后编写测试类,它会根据参数的组数来运行测试多次。11. 在JUnit 4中,如果想要同时运行多个测试,需要使用两个注解:RunWith(Suite.class)以及Suite.SuiteClasses(),通过这两个注解分别指定使用Suite运行器来运行测试,以及指定了运行哪些测试类,其中的SuiteClasses中可以继续指定Suite,这样JUnit会再去寻找里面的测试类,一直找到能够执行的Test Case并执行之。12. JUnit在TestCase类中应用了模板方法模式:13. JUnit在TestCase类中应用了适配器(Adapter)模式:在runBare方法中,通过runTest方法将我们自己编写的testXXX方法进行了适配,使得JUnit可以执行我们自己编写的Test Case,runTest方法的实现如下:在runTest方法中,首先获得我们自己编写的testXXX方法所对应的Method对象(不带参数),然后检查该Method对象所对应的方法是否是public的,如果是则调用Method对象的invoke方法来去执行我们自己编写的testXXX方法。Unit Test Lesson 31. 适配器模式(Adapter Pattern)主要分为三种:1) 基于类的继承方式2) 基于对象组合方式3) 缺省的适配器模式(AWT,Swing事件模型所采用的模式)2. 我们学习过的设计模式:1) 单例模式(singleton)2) 策略模式(Strategy)3) 代理模式(static proxy, dynamic proxy)4) 观察者模式(Observer)5) 装饰模式(Decorator)6) 工厂方法模式(Factory Method)7) 模板方法模式(Template Method)8) 适配器模式(Adapter)9) 命令模式(Command)10) 组合模式(Composite)3. 组合模式(Composite),组合模式有两种实现方式:1) 将管理子元素的方法定义在Composite类中2) 将管理子元素的方法定义在Component接口中,这样Leaf类就需要对这些方法空实现。4. JUnit中要区分错误(error)与失败(failure)1) 错误指的是代码中抛出了异常等影响代码正常执行的情况,比如抛出了ArrayIndexOutOfBoundsException,这就叫做错误。2) 失败指的是我们断言所期待的结果与程序实际执行的结果不一致,或者是直接调用了fail()方法,这叫做失败。5. JUnit中所使用的观察者模式6. 对于测试类来说,如果一个测试类中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论