Over a million developers have joined DZone.

Gmock 0.7.0 released

· Java Zone

What every Java engineer should know about microservices: Reactive Microservices Architecture.  Brought to you in partnership with Lightbend.

We are extremely pleased to announce the release of Gmock 0.7.0. Gmock is a mocking framework for the Groovy language. Gmock is all about simple syntax and readability of your tests so you can spend less time learning the framework and more writing code.

This release bring two long awaited features: strict ordering and partial mocking.

Strict ordering is accomplished through the ordered closure. Here is an example with an hypothetic cached cat database:

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()
}

The partial mocking is performed simply by using the mock method on your concrete object. Here is how it works with a grails controller:

def controller = new SomeController()
mock(controller).params.returns([id: 3])

Gmock 0.7.0 is the last release compatible with Groovy 1.5.x. Support for Groovy 1.6.0 is coming soon in our next release.

Please visit http://gmock.org or http://code.google.com/p/gmock/ for more information.

We are looking for your feedback and how you feel we could improve Gmock in the route to the 1.0.0.

The Gmock devs

Microservices for Java, explained. Revitalize your legacy systems (and your career) with Reactive Microservices Architecture, a free O'Reilly book. Brought to you in partnership with Lightbend.

Topics:

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}