SpringOne 2GX 2011

Chicago, October 25-28, 2011

Peter Niederwieser

Creator of the Spock Framework

Peter Niederwieser

Peter Niederwieser is a computer language enthusiast from Linz, Austria. Having used Java since 1997, Peter nowadays prefers to work with more flexible languages - in particular Groovy, Scala, and Clojure. Peter is the creator of Spock and a Groovy committer.

In his day job, Peter is a Principal Software Engineer at Gradleware.



Presentations

Smarter Testing with Spock

Spock is a developer testing framework for Java and Groovy applications. Even though it is fully JUnit-compatible on the outside, Spock isn't just another JUnit clone - its goal is to take developer testing to the next level! With its Groovy-powered and highly expressive testing language, Spock boosts productivity and brings back the fun to testing.

In the first part of this session, Spock's approach to state-based, data-driven, and behavior-based testing will be demonstrated. Next, we will explore some of Spock's extensions, in particular the Grails plugin and the Spring TestContext Framework integration. Finally, we will look under the covers of Spock and write our own extension. Along the way, expect to see lots of code and live demos.

Functional Web Testing with Geb and Spock

Geb is a next generation Functional Web Testing tool that removes the ceremony and tedium of traditional web testing, leaving you with a concise, pragmatic and productive environment in which to work. It combines the power of Groovy with the WebDriver/Selenium 2.0 browser automation library to provide a programmer's DSL for modeling pages (known as the PageObject Pattern) and easily automating real browsers such as Internet Explorer, FireFox and Chrome as well as the HTMLUnit library. Geb can be used standalone, or with testing frameworks such as Spock, JUnit, EasyB or Cucumber.

In this session, you will learn everything you need to know to start using Geb in your own projects. We will cover Geb's programming model, solve real-world testing challenges, and show how Geb integrates with your environment.

Next Level Spock

So you already know and love Spock, the Enterprise ready testing framework, but want to know how to make the most of it and take it to the next level? Then this talk is for you.

Peter (Spock founder) and Luke (Geb founder, Spock & Grails committer) will be discussing concepts, practices and techniques you can use to get more out of Spock.

We'll start with how the combination of Spock and the Groovy language makes it easy to bring the concept of “executable specifications” to the realm of unit testing, without the ceremony but with all of the benefits. From there we'll discuss extending Spock through its own Extension API and support for JUnit rules, Spock's seamless integration with Grails 2.0, and how to get the most out of your tooling when working with Spock.

Enterprise Gradle

In this talk we will cover many Gradle power features that are particularly helpful for the real heavy lifting often needed in enterprise builds.

We will start this session with the concept and advantages of autowiring the Task Dependency Graph based on the inputs and outputs. We will then talk in detail about the new dependency management features such as the new cache, customizable dynamic revision handling and customizable version conflict resolution. From there we'll explore the new extension mechanism for the Gradle DSL and introduce the Gradle daemon. We will also discuss our take on best practices for dealing with module dependencies in the enterprise and how this can be mapped with Gradle. Finally we will show how you can programatically customize the way the Gradle build model is mapped to the STS Gradle Eclipse plugin. All those features are presented in the context of our roadmap and what further improvement you can expect with future releases.