Currently Kitodo.Presentation barely has any (unit) tests, so implementing new features and making sure that nothing broke is very tedious and time consuming - not only for developers but for the release management as well. This proposal suggests to write a lot of tests and significantly improve test coverage for Kitodo.Presentation.
Related Issues
None.
Expected Benefits of this Development
Test-driven development ensures that developing new features, updating components or re-factoring code doesn't break anything (or at least makes obvious what broke). This is especially important for older projects with a large and complex code base, since it's impossible for a single developer to know every constraint and dependency.
Having tests would therefor improve code quality, make development easier and help testing and reviewing pull requests for the release management.
Estimated Costs and Complexity
Writing tests is not a complex, but a rather time-consuming task, so I'd estimate this to be of high cost and low complexity.
Description
Currently Kitodo.Presentation barely has any (unit) tests, so implementing new features and making sure that nothing broke is very tedious and time consuming - not only for developers but for the release management as well. This proposal suggests to write a lot of tests and significantly improve test coverage for Kitodo.Presentation.
Related Issues
None.
Expected Benefits of this Development
Test-driven development ensures that developing new features, updating components or re-factoring code doesn't break anything (or at least makes obvious what broke). This is especially important for older projects with a large and complex code base, since it's impossible for a single developer to know every constraint and dependency. Having tests would therefor improve code quality, make development easier and help testing and reviewing pull requests for the release management.
Estimated Costs and Complexity
Writing tests is not a complex, but a rather time-consuming task, so I'd estimate this to be of high cost and low complexity.