David Reines

For the past several weeks, I’ve been working on a Grails app in my spare time, and I’m really excited about the future of Grails.  However, I’ve been a bit disappointed in the tooling currently available.  Myself and many of my clients use Eclipse, and at this point the Eclipse support for Grails is less than ideal.

Spring Source’s recent acquistion of G2One will really help move the Eclipse support forward.  Here’s a recent interview with Grails founder Graeme Rocher in which he discusses how Spring Source will help drive Grails tool support within Eclipse.

http://www.grailspodcast.com/blog/id/109

One of the largest frustrations I’ve had with the Eclipse plugin is the setup necessary to run a grails unit test.  After I first setup my grails project in Eclipse, I tried to create a simple groovy unit test and run it.  As with Java unit tests, I right clicked on the class and selected run as junit test.  Each time I ran the test I received the following error.

“Error running MyGroovyTest.groovy failed to find a class file, ensure the Groovy output folder is on the classpath”

After a lot of digging around I was finally able to work through these issues and figure out a way to execute grails unit tests within eclipse.  Here are the steps I used to get the tests working.

  1. Right-click on the project and select Properties > Groovy Project Properties.
  2. Uncheck “Disable Groovy Compiler Generating Class Files”
  3. Modify the “Groovy compiler output location” to “bin-groovy”
  4. Select “Java Build Path”
  5. Modify the Default Output folder to “/bin” (I need to test this again to see if this step is required).
  6. From the same Java Build Path dialog select Libraries > Add Class Folder…
  7. Check bin-groovy.
  8. Now run the unit test by right clicking on the groovy file and it should work.

It’s quite an involved process, but it works.  If anyone has a simpler solution, I’d be really glad to hear it.  I’m using Eclipse Ganymede, Grails 1.0.4, and Groovy Plugin 1.5.6.200807211457.

Cleaning up these types of issues within Eclipse will be critical to the success of Grails, and I’m glad to hear that SpringSource and Grails will be focusing their efforts on tooling in the near future.

Share this Post

Related Blog Posts

JVM

Observations on Code Coverage Tools and Unit Tests

January 15th, 2009

At my current client, there’s a drive to put more unit tests on the Java code. It’s been a long hard process as few of the developers do strict, or even just “mostly,” test-driven development. As an attempt to try and drive this home, they’ve also…

Object Partners
JVM

Equals and HashCode

January 10th, 2009

It happens far too often that developers shortcut creating and in their objects. This discussion hopes to enlighten those short-cutters, and introduce a simple solution to their problem. The use of and is assumptive of only one concern, and…

Object Partners

About the author

David Reines

Vice President of Technology

David has led the development efforts of several mission-critical enterprise applications in the Twin Cities area. During this time, he has worked very closely with numerous commercial and open source JEE technologies. David has extensive experience in the architecture, design, implementation, deployment and support of highly scalable business applications.