20162321王彪-实验二-Java面向对象程序设计

实验二Java面向对象程序设计

实验内容一

  1. 初步掌握单元测试和TDD
  • 什么是单元测试:单元测试时开发者编写的一小段代码,用于检测被测代码的一个很小的,很明确的功能是否正确。执行单元测试,是为了证明某段代码的行为确实和开发者所期望的一致。
  • 测试哪些内容:Right-BICEP

Right----结果是否正确?
B----是否所有的边界条件都是正确的?
I----能查一下反向关联吗?
C----能用其他手段交叉检查一下结果吗?
E----你是否可以强制错误条件发生?
P----是否满足性能要求?

  • Junit的断言:assertEquals这是接触的第一个断言形式,因为老师的指导博客里用的就是此方法,assertNull,assertSame,assertTrue,fail

具体作用
assertEquals(expected,actual):expected是你的期望值(通常都是硬编码的),actual是被测试代码实际产生的值。(计算机并不能精确的表示所有的浮点数,因此用断言来比较浮点数需要指定一个额外的误差参数assertEquals(3.33,10.0/3.0,0.01))
assertNull(assertNotNull):验证一个给定对象是否为null
assertSame(expected,actual):验证expected参数和actual参数是否引用的同一个对象
assertTrue(assertFalse):验证一个二元条件是否为真
fail:此断言将会是测试立即失效,这种断言通常被用于标记某个不应该到达的分支

  • Junit的框架

说到框架在一开始的时候还不明白第一次在IDEA上使用Junit4系统自动生成了框架,发现和老师的指导不同,有点吃惊,有点紧张......

  • 这是《单元测试之道》中展示的某测试代码框架最小要求
    import junit.framework.*;
    public class TestSimple extends TestCase{
    public TestSimple(String name){
        super(name);}
    public void testAdd(){
        assertEquals(2,1+1);}
    }
  1. 每个包含测试的类都必须如所示那样与TestCase继承而来
  2. 基类需要一个以String为参数的构造函数,因此我们必须调用supper以传递这么一个名字
  3. 所有以test开头的方法都会被Junit自动运行
  • 总结
    时间较短,以上内容是我简读《单元测试之道》一书所了解到的内容,本可以读大部分的,但是图书馆的系统错误这本书不能外借,很久都没有真正静下心来读一本书了,这种感觉真的很棒,所以计划在接下来两周内将此书读完,尽管不可能通懂,但也要试着了解,争取写一遍总结的博客

实验内容二

再次分享一些干货,对三大概念的理解十分有帮助

实验内容三

  • 初步掌握UML建模

实验内容四

S – 单一职责原则
O – 开放封闭原则
L – 里氏替换原则
I – 接口隔离原则
D – 依赖倒置原则

posted @ 2017-04-16 16:56  Wb同学在此  阅读(193)  评论(0编辑  收藏  举报