Spock @ConfineMetaClassChanges annotation made writing grails unit test easier

Grails version 2.0 and above made unit testing much simpler with so many new annotations introduced. However if you wanted to mock a specific method of a class whose method is being tested or you wanted to create a stub of the class already annotated by @Mock, things would become difficult. So I always ended up mocking methods via...

by Amit Jain
Tag: metaClass


MetaProgramming with MetaClass

As we all know that groovy is a dynamic programming language, so we can add any method to any class at runtime. First, let’s see a small and simple example of metaProgamming given below, in which we are adding a method (isEvent) into an Integer class. [groovy] Integer.metaClass.isEven = { -> // only (->) sign indicates that...

by Amit Kumar
Tag: metaClass


Playing with call() using Groovy Metaprogramming

In groovy you can use "()" with any groovy object which in turn evaluates to invocation of call() method on that object. For example, the following are valid Groovy statements : [groovy] List myList=["one", "two"] myList() 10() 500 6+5 [name:"Bhagwat", profession:"Software engineer"] name ...

by Bhagwat Kumar
Tag: metaClass