You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by "Jacques Le Roux (JIRA)" <ji...@apache.org> on 2011/04/02 20:14:05 UTC

[jira] [Closed] (OFBIZ-3662) Resolve base unit tests not executing and not contributing to code coverage

     [ https://issues.apache.org/jira/browse/OFBIZ-3662?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jacques Le Roux closed OFBIZ-3662.
----------------------------------

    Resolution: Fixed
      Assignee: Adrian Crum

Actually it's a new issue, I close this one and reopen a new one... Thanks to Adrian's expanations

> Resolve base unit tests not executing and not contributing to code coverage
> ---------------------------------------------------------------------------
>
>                 Key: OFBIZ-3662
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-3662
>             Project: OFBiz
>          Issue Type: Bug
>          Components: framework
>    Affects Versions: SVN trunk
>            Reporter: Bob Morley
>            Assignee: Adrian Crum
>             Fix For: SVN trunk
>
>         Attachments: OFBIZ-3662_ResolveBaseUnitTestsAndCoverage.patch
>
>
> When you run the suite of tests from the ofbiz home folder, the base unit tests do not execute and there is some confusion as to if their code coverage metrics are being properly reflected.
> My investigation has determined that there does not appear to be an issue with the two classpaths and them "stomping on the code coverage metrics".
> What I found was that because the TestContainer expects all components to be loaded creating a ContainerConfig for each, "base" was not being executed (as it was only manually referenced via Start).  The manual reference in Start would set the classpath entries, but would not allow the base component to have any other goodies like entitydef, servicedef, or testdef artifacts.
> Once you have this component loading like the rest, the second problem was that the basetests.xml file (its testdef) had further problems in it.  Two of the junit-test-suites had trailing ".java" in the classname, one had a typo, and the JSONTests was not referenced.
> My simple solution (requires review) is to add the "base" component into component-load.xml which solves issue #1 and fix-up the problems for #2.
> I spent quite a bit of time on this; initially I thought I could get away with not instrumenting in Start at all -- this was because the component loader (once it loads base) has all the jars required and can instrument them.  The trouble is that the Start's classpath that is generated includes three jars (including ofbiz-base) at the top of the classpath.  The instrumenting logic actually does clean replacements of the jars it instruments at the place they are in the classpath (obviously this is smart).  Trouble is you end up with a non-instrumented ofbiz-base at the top which kills your metrics.
> After these changes the unit tests jumped from 216 -> 285 and the overall project coveage is sitting at around 18%.  Base specifically has quite good coverage, but the application/specialpurpose are really lacking.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira