Effective out-of-container Integration Testing
Modern application frameworks promote a POJO-based programming model, and POJOs are inherently easy to unit test. But how can we effectively integration test our application outside the container while still getting as close to a production-like environment as possible? This session will show attendees how to approximate a target production environment using JUnit and the Spring TestContext Framework to drive fast, repeatable, "out-of-container" integration tests. To simulate a live system, the session will cover open source integration testing techniques such as the use of in-memory databases, JMS providers, and Servlet containers as well as mock SMTP and FTP servers. These techniques are not limited to Spring based applications and can be applied to help integration test any modern Java application.
Sam Brannen is a Senior Software Consultant with over 14 years' experience and co-founder of Swiftmind, a software consulting agency in Zürich, Switzerland. At Swiftmind Sam helps international clients achieve best practices in agile software development, architecture, design, implementation, and testing of enterprise Java applications using the Spring Framework and a plethora of open source technologies. In his consulting role, Sam most enjoys leading work shops, code reviews, coaching, and training clients.
Sam is a popular speaker at conferences on Java, Spring, and OSGi. He is also an active core committer for the Spring Framework, lead author of "Spring in a Nutshell" from O'Reilly, author of the Spring TestContext Framework, and was previously a core developer of SpringSource dm Server (a.k.a., Eclipse Virgo).
Over the years, Sam has helped clients build applications in various business sectors ranging from e-commerce to banking, retail, automotive, and social communities. When not in front of his computer, Sam enjoys traveling and spending time with family and friends.