In recent years, writing tests for applications has become a much more widely used practice. In many ways, this is due to the rise of open source software and the need to prove that software will function as expected.
In software development, there are now many different unit testing frameworks, many of which are based upon the xUnit architecture. This architecture, originally defined by Kent Beck in the late 1990s, defines a basic set of components to run tests.
xUnit specifies that tests are executed by a test runner, which is responsible for running all of the necessary tests and generating results indicating either the success or failure of each test. Each test is defined as a separate test case. For each test case, we define a number of assertions that must equate to true for the test to be successful.
To run a test, any number of preconditions need to be defined. In xUnit, these are called test fixtures. When there are multiple test cases that require the same test fixtures...