Gmock 0.7.0 发布

Gmock是一个基于Groovy语言的mock框架。Gmock利用了Groovy语言的特性,提供了简洁可读的语法,并且用Gmock mock出来的对象可以在Java代码中使用,所以你可以使用Java编写代码而使用Groovy和Gmock编写测试。

本版本加入了以下特征:

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。

更详细的信息请访问 http://gmock.org/http://code.google.com/p/gmock/

你可能感兴趣的:(java,cache,正则表达式,grails,groovy)