Testing usually involves dealing with test data: input data, expected output data, actual output data. Since JUnit lacks support for a test data repository, developers have to invent their own ways organizing and accessing the test data. This may result in test data being hard-coded in test code. Such test data cannot be easily modified. Furthermore, as the volume of test code and test data becomes larger, the maintainability of test code degrades.
Test data repository is required to separate test data from test code due to the following reasons:
The proposed solution to this problem is Repo: a JUnit extension that provides access to a test data repository.