On Sun, Jul 29, 2018 at 5:56 PM, Vincent Massol <[email protected]> wrote: > Hi devs, > > During XWiki SAS’s hackathon last week, Simon and me worked on implementing > test coverage computation for velocity code and more precisely to measure the > code coverage we get in XWiki XML pages when running our tests. > > The rationale is that we know what’s our java test coverage but we have no > clue about the velocity one. And we have a lot of code in velocity scripts in > wiki pages. Thus we need a strategy for this too if we wish to increase our > global code quality. > > So we have currently developed 2 mojos (xar:instrument and > xar:reportCoverage) in the XAR plugin code and created a JIRA issue, see > XCOMMONS-1448. > > Here’s the proposal I’d like your opinion on: > * Finish working on this to stabilize it and commit/push it > * Apply the same strategy we have with Jacoco for java test coverage, i.e. > introduce a new xar:coverageCheck mojo that will fail the build if we get a > global TPC under the threshold mentioned in the POM > > Consequences: > * It will mean that whenever we add new velocity scripts (especially when > there are branches such as #if) we will need to improve or add XAR page > tests. This can be done in 2 ways: > ** by writing/improving a functional UI test > ** by writing/improving a XAR unit test > * We will find places that have 0% coverage and these will be good candidates > to add tests for > > My POV: > * We should have the minimum # of functional UI tests since they take very > long to execute. We need them but we shouldn’t test the various branches with > them IMO. Only one path. > * Instead we should focus on have more of XAR unit tests since they execute > fast and are better suited (with mocks) to test the various branches > * The XAR unit test framework we have is still pretty new and it’s probably > not to easy to write unit tests for wiki pages in some cases, we will need to > work on that as we discover them. I’m happy to help on that. > > WDYT? > > Personally I’m ok to try it and see what happens. > > Thanks > -Vincent
+1

