VI.8 Cross cutting Concepts
Because of the nature of docToolchain (as a locally used development tool), most of the standard cross cutting concepts (for example, security, monitoring, and so on) do not apply.
This is why this section is short.
Automated Testing
In an ideal world, we would have covered all code with unit tests. However, currently, the smallest unit of docToolchain is a Gradle task. Because of the dependencies on Gradle, we can't easily test these tasks in isolation.
The current solution for automated tests is to use the gradleTestKit (https://docs.gradle.org/4.9/userguide/userguide.html) and Spock (http://spockframework.org/).
Through the gradleTestKit, Gradle will start another Gradle instance with its own test configurations. The gradleTestKit ensures that all tasks can be integration-tested in an automated way.
Spock helps to define the tests in an easy-to-maintain, behavior-driven development (BDD, https://en.wikipedia.org/wiki/Behavior-driven_development) way.