Understanding the architecture
Although we've already encountered quite a few of JUnit's essential testing capabilities, there is more than meets the eye. Beyond standard test execution, it is possible to meet other requirements by means of pluggable test processors. The first section of this chapter will explain the most relevant concepts and deepen our knowledge by developing a basic extension.
What are runners good for?
"If you get stuck, draw with a different pen. Change your tools; it may free your thinking." | ||
--Paul Arden |
In the previous chapters, we heard a good deal about unit testing with respect to structure and isolation. These concepts are well supported by the default behavior of JUnit. However, sometimes, there are scenarios that demand additional or different capabilities. Imagine, for example, a set of test cases comprising the specification of a subsystem that should be grouped together for aggregated test runs. You can even consider the need for a special test execution strategy...