Thanks a lot @grace for starting this thread,
Martin’s article seems a good argument.
We have lots of unit tests in our projects but i think the coverage isn’t enough, we should advocate for TDD and require unit tests before merging changes and new features.
In OpenMRS, integrated tests are parented by BaseModuleWebContextSensitiveTest, samples are available in core and rest module but in short these are api based integrated tests and perhaps according to Martin they fall in his first (Narrow) categorisation of integrated tests. Do you see a need and perhaps alternative approach to improving these @dkayiwa and @burke? would you think it beneficial enough to look through how we can improve these?
Martin categorises our current E2E (User interface) tests as integrated (Broad) tests. We have these running off selenium and the integration with cucumber in QAFramework is aiming at covering at-least 90% of the reference application and form a foundation for other distributions and tools, this project is currently spinning in CI daily at 01:00 and at every commit to QAFramework or Reference application Distribution or UI Test framework within a space of one minute. Am looking through a number of ways to make these most effective and work with the community to improve coverage.
Any suggestions on improving the current infrastructure is highly welcome