WEB开发网
开发学院软件开发Java 实战 Groovy: @Delegate 注释 阅读

实战 Groovy: @Delegate 注释

 2009-09-28 00:00:00 来源:WEB开发网   
核心提示: 由于使用了 GroovyTestCase 的方便的 shouldFail 方法,您可以捕捉到这个预期的异常,实战 Groovy: @Delegate 注释(9),如清单 12 所示,这一次您终于成功运行了测试: 清单 12. shouldFail() 方法捕捉到预期的异常classFixedLi

由于使用了 GroovyTestCase 的方便的 shouldFail 方法,您可以捕捉到这个预期的异常,如清单 12 所示,这一次您终于成功运行了测试:

清单 12. shouldFail() 方法捕捉到预期的异常

class FixedListTest extends GroovyTestCase{
  void testAdd(){
    List threeStooges = new FixedList(3)
    threeStooges.add("Moe")    
    threeStooges.add("Larry")
    threeStooges.add("Curly")
    assertEquals threeStooges.sizeLimit, threeStooges.size()
    shouldFail(java.lang.UnsupportedOperationException){
      threeStooges.add("Shemp")      
    }
  }
} 

测试操作符重载

在 “美妙的操作符” 中,您了解到 Groovy 支持操作符重载。对于 List,可以使用 << 添加元素以及传统的 add() 方法。编写如清单 13 所示的快速单元测试,确定使用 << 不会意外破坏 FixedList:

清单 13. 测试操作员重载

class FixedListTest extends GroovyTestCase{
 
  void testOperatorOverloading(){
    List oneList = new FixedList(1)
    oneList << "one"
    shouldFail(java.lang.UnsupportedOperationException){
      oneList << "two"
    }    
  }
}

这次测试的成功应该能够让您感到轻松一些。

您还可以测试出错的情况。比如,清单 14 测试了在创建包含一个负数元素的 FixedList 时出现的情况:

上一页  4 5 6 7 8 9 10  下一页

Tags:实战 Groovy Delegate

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接