Java Software Testing tutorials: unit testing, open source, JUnit, Mockito, TestNG, Spring, JGiven, etc.
It is rather rare to have access to the software testing techniques used by a large project to maintain the quality of its code base. In this blog post, Jan Wloka, a member of the team behind IBM’s Rational Team Concert, presents the different techniques and tools used to control software evolution and to improve the quality of their code base.
This extract from the book “Pragmatic Unit Testing in Java with JUnit” written by Andy Hunt and Dave Thomas provides an introduction to the usage of mock objects during Java unit tests. They define the usage of mocks in unit testing as the unit similar to the use of lighting doubles in the movies: A mock object is simply a debug replacement for a real-world object.
This article by Lasse Koskela, provides several tips on how to improve the speed of your Java unit tests. The strategy to improve the speed up test code is to find slow things and either make them run faster or not run them at all.
In this article, Brett Schuchert discusses how modern mocking tools affects positively our ability to work with legacy code and the possible negative implications of using mocking tools. These tools allow us to perform unit testing without actually changing the underlying code. He starts with a discussion about the challenges of unit testing and how mocking tools help to solve them; at least on the surface.
This blog post by Stuart Gunter shares some best practices to perform unit testing on Spring MVC views. The concept follows a BDD style to write unit tests that leverages the MVC pattern in much the same way as the real application, but exploits the power of standard unit testing practices like mocking, assertions and verification. This is achieved with the open source software testing tool TestNG and using the infrastructure provided by Spring through its integration testing features in order to execute the unit test. The post shows the code, also available on GitHub, used to do this. It also explains the design decisions that supports this approach.
Practical Unit Testing with TestNG and Mockito is a book that is intended especially for those who would like to start unit testing their code, but are unsure about how to get started and what to focus on. It presents the unit testing domain with examples in the Java language using the TestNG and Mockito open source tools.
Mockito is an open source mock framework for Java that letsyou write beautiful tests with clean and simple API. This video shows how to verify mock objects using Mockito.