Gmock是一个基于Groovy语言的mock框架。Gmock利用了Groovy语言的特性,提供了简洁可读的语法,并且用Gmock mock出来的对象可以在Java代码中使用,所以你可以使用Java编写代码而使用Groovy和Gmock编写测试。
本版本加入了以下特征:
1. 设定方法调用的严格顺序(strict ordering)。这是通过ordered闭包实现的。下面是一个被缓存的数据库的例子:
2. 只mock一个对象的部分方法(partial mocking)。这可以通过对一个已有对象调用mock()方法来实现。下面是mock一个grails的controller的例子:
3. 支持使用正则表达式作为方法名字。例如:
Gmock 0.7.0是最后一个支持Groovy 1.5.x的版本,下一个版本开始将只支持Groovy 1.6.x。
更详细的信息请访问[url]http://gmock.org/[/url]或[url]http://code.google.com/p/gmock/[/url]。
本版本加入了以下特征:
1. 设定方法调用的严格顺序(strict ordering)。这是通过ordered闭包实现的。下面是一个被缓存的数据库的例子:
def database = mock()
def cache = mock()
ordered {
database.open()
cache.get("select * from cat").returns(null)
database.query("select * from cat").returns(["cat1", "cat2"])
cache.put("select * from cat", ["cat1", "cat2"])
database.close()
}
play {
...
}
2. 只mock一个对象的部分方法(partial mocking)。这可以通过对一个已有对象调用mock()方法来实现。下面是mock一个grails的controller的例子:
def controller = new SomeController()
mock(controller).params.returns([id: 3])
play {
assertEquals 3, controller.params.id
}
3. 支持使用正则表达式作为方法名字。例如:
def mock = mock()
mock./set.*/(1).returns(2)
play {
assertEquals 2, mock.setSomething(1)
}
Gmock 0.7.0是最后一个支持Groovy 1.5.x的版本,下一个版本开始将只支持Groovy 1.6.x。
更详细的信息请访问[url]http://gmock.org/[/url]或[url]http://code.google.com/p/gmock/[/url]。