}
String toString(){
return "hello ${_info}"
}
}
很簡單的代碼,當然測試也會很輕易的通過。其實,對于這種比較簡單的問題,groovy與java的解決方案是差不多的。但在Mock Object方面,groovy更勝一籌。
java的mock解決方案比較流行的有easymock和jMock。對于easymock,如果需要mock類而不是接口,則需要引入easymockclassextension.jar。在groovy中,使用gmock會簡單的多。
關于GMock的使用,有兩種方法。一是直接繼承自GMockTestCase,二是在類上使用@WithGMock注解。GMock使用閉包來簡化操作。下面給出簡單示例:
view plaincopy to clipboardprint?
@WithGMock
public class NewTest extends GroovyTestCase{
@Test
public void testMock(){
def gmc = new GMockController()
def mockLoader = gmc.mock()
mockLoader.load('key').returns('value')
gmc.play {
assertEquals "value", mockLoader.load('key')
}
}
}
@WithGMock
文章來源于領測軟件測試網 http://www.kjueaiud.com/