Cobertura in EAR artefacts
Hi folks ! I'm facing a problematic concerning the cobertura report. Suppose we have an EAR Application with : - A Business module - A Web module Web layer uses the Business Layer. Unit tests are made in both Business and WEB modules. When I run tests on WEB module, some Business classes are called during the test process. My problem is : I don't know how to parameterize cobertura in order to aggregate results from Business layer during the Web Layer tests execution. That is to say, for now on, I've only 10% of test coverage on Business layer and 50% of test coverage on Web layer ... because they are aggregated * independently* ! Although I'm sure I could have almost ~40% of test coverage on Business layer with the execution of tests on Web layer :( Someone already faced the problem ? Thanks in advance Frederic
Re: Cobertura in EAR artefacts
Ah, this unfortunately means that you *CAN'T* run the site-build as you normally would, since the reports are generated on a per-module basis and you would 'update; your results with a later test. So, it's best to 'manually' test your coverage or have 2 'passes' of maven's site-build to include the updated cobertura-results. And maybe it needs mentioning, maybe not: stay away from the 'clean'-goal between these passes! :-) On Monday 14 September 2009 18:03, Roland Asmann wrote: Couldn't you just package the cobertura-jars in your EAR and run integration-tests on them? I believe that Cobertura writes all calls to the respective data-files when methods are called... At least, last time I checked this worked for me... :-) To use the cobertura-jars, just add the cobertura:instrument call in the POM and Maven will handle the rest... Be carefull though, it's probably best to do this in a test-profile, since your normal artifacts will now have Cobertura-classes in them! POM-snippet: -- SNIPPET -- profiles profile idtest/id build plugins plugin groupIdorg.codehaus.mojo/groupId artifactIdcobertura-maven-plugin/artifactId version2.3/version executions execution idinstrument/id phaseprocess-classes/phase goals goalinstrument/goal /goals /execution /executions /plugin /plugins /build dependencies dependency groupIdnet.sourceforge.cobertura/groupId artifactIdcobertura/artifactId version1.9.2/version /dependency /dependencies /profile /profiles --- SNIPPET ENDS -- On Monday 14 September 2009 17:21, Frederic Camblor wrote: Hi folks ! I'm facing a problematic concerning the cobertura report. Suppose we have an EAR Application with : - A Business module - A Web module Web layer uses the Business Layer. Unit tests are made in both Business and WEB modules. When I run tests on WEB module, some Business classes are called during the test process. My problem is : I don't know how to parameterize cobertura in order to aggregate results from Business layer during the Web Layer tests execution. That is to say, for now on, I've only 10% of test coverage on Business layer and 50% of test coverage on Web layer ... because they are aggregated * independently* ! Although I'm sure I could have almost ~40% of test coverage on Business layer with the execution of tests on Web layer :( Someone already faced the problem ? Thanks in advance Frederic -- Roland Asmann CFC Informationssysteme Entwicklungsgesellschaft m.b.H Bäckerstrasse 1/2/7 A-1010 Wien FN 266155f, Handelsgericht Wien Tel.: +43/1/513 88 77 - 27 Fax.: +43/1/513 88 62 Email: roland.asm...@cfc.at Web: www.cfc.at - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: Cobertura in EAR artefacts
Couldn't you just package the cobertura-jars in your EAR and run integration-tests on them? I believe that Cobertura writes all calls to the respective data-files when methods are called... At least, last time I checked this worked for me... :-) To use the cobertura-jars, just add the cobertura:instrument call in the POM and Maven will handle the rest... Be carefull though, it's probably best to do this in a test-profile, since your normal artifacts will now have Cobertura-classes in them! POM-snippet: -- SNIPPET -- profiles profile idtest/id build plugins plugin groupIdorg.codehaus.mojo/groupId artifactIdcobertura-maven-plugin/artifactId version2.3/version executions execution idinstrument/id phaseprocess-classes/phase goals goalinstrument/goal /goals /execution /executions /plugin /plugins /build dependencies dependency groupIdnet.sourceforge.cobertura/groupId artifactIdcobertura/artifactId version1.9.2/version /dependency /dependencies /profile /profiles --- SNIPPET ENDS -- On Monday 14 September 2009 17:21, Frederic Camblor wrote: Hi folks ! I'm facing a problematic concerning the cobertura report. Suppose we have an EAR Application with : - A Business module - A Web module Web layer uses the Business Layer. Unit tests are made in both Business and WEB modules. When I run tests on WEB module, some Business classes are called during the test process. My problem is : I don't know how to parameterize cobertura in order to aggregate results from Business layer during the Web Layer tests execution. That is to say, for now on, I've only 10% of test coverage on Business layer and 50% of test coverage on Web layer ... because they are aggregated * independently* ! Although I'm sure I could have almost ~40% of test coverage on Business layer with the execution of tests on Web layer :( Someone already faced the problem ? Thanks in advance Frederic -- Roland Asmann CFC Informationssysteme Entwicklungsgesellschaft m.b.H Bäckerstrasse 1/2/7 A-1010 Wien FN 266155f, Handelsgericht Wien Tel.: +43/1/513 88 77 - 27 Fax.: +43/1/513 88 62 Email: roland.asm...@cfc.at Web: www.cfc.at - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org