Hi all, I've seen similar posts before, but none really answers my concerns. My goal is to measure code coverage with JaCoCo in an AspectJ project. As described below, I have three dependent projects and I want to measure code coverage in one particular project.
I have a project A, which depends on a project B. Project B is the main target project. Project A just acts like a wrapper around project B. Both are AspectJ projects. I can easily compile them with the AspectJ compiler. Project A has aspects that affect both project A's and project B's code. Then I have a project C, which in an automatic fashion generates JUnit tests for project B. The tests make calls into project A, which in turn make calls into B. Because my aspects from project A serve as monitors watching a code execution starting from the tests, I compile project C with the AspectJ compiler as well. My goal is to measure code coverage in project B by exercising the tests from project C. It all worked fine when all the projects were "plain" Java projects. However, when I added monitors and turned the projects into AspectJ projects, I got lost and can't get a code coverage report with a non-zero coverage. I tried with offline instrumentation and I see that project B's code gets woven by AspectJ and instrumented by JaCoCo, but I am not sure JaCoCo can handle this properly. My question is: is it even possible to do something like this? If it is, how to go about it? If it matters, the way I do it now is to have projects A and B compiled with the AspectJ compiler, then I generate tests in project C, compile the tests with the compiler, and do JaCoCo instrumentation in the end. All the projects are compiled as source 1.7 and target 1.7. I use AspectJ 1.8.2 and JaCoCo 0.7.2. Cheers, Marko Dimjašević http://dimjasevic.net/marko -- You received this message because you are subscribed to the Google Groups "JaCoCo and EclEmma Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
