Alex Lumpov created TAP5-2468:
---------------------------------
Summary: Tapestry & Cobertura
Key: TAP5-2468
URL: https://issues.apache.org/jira/browse/TAP5-2468
Project: Tapestry 5
Issue Type: Bug
Components: tapestry-ioc
Affects Versions: 5.4, 5.3.8
Reporter: Alex Lumpov
cobertura adds utility methods to test classes
but tapestry throws RuntimeException when it finds these methods in a module
class.
Here is an example project using cobertura.
{code:java}
package ru.alexlumpov.coberturatest;
import org.apache.tapestry5.ioc.ServiceBinder;
public class MyModule {
public static void bind(ServiceBinder binder) {
binder.bind(MyService.class);
}
}
{code}
{code:java}
package ru.alexlumpov.coberturatest;
public class MyService {
public String getHello() {
return "Hello";
}
}
{code}
{code:java}
package ru.alexlumpov.coberturatest;
import org.apache.tapestry5.ioc.Registry;
import org.apache.tapestry5.ioc.RegistryBuilder;
import org.junit.Assert;
import org.junit.Test;
public class MyServiceTest extends Assert {
@Test
public void testGetHello() {
Registry registry =
RegistryBuilder.buildAndStartupRegistry(MyModule.class);
MyService service = registry.getObject(MyService.class, null);
assertEquals("Hello", service.getHello());
}
}
{code}
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ru.alexlumpov</groupId>
<artifactId>coberturatest</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.tapestry</groupId>
<artifactId>tapestry-ioc</artifactId>
<version>5.3.8</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>cobertura</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
{code}
if you type
{code}mvn clean package{code}
you will see
{code}
Running ru.alexlumpov.coberturatest.MyServiceTest
Adding module definition for class
org.apache.tapestry5.ioc.services.TapestryIOCModule
Adding module definition for class ru.alexlumpov.coberturatest.MyModule
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.421 sec <<<
FAILURE!
Cobertura: Loaded information on 3 classes.
Cobertura: Saved information on 3 classes.
Results :
Tests in error:
testGetHello(ru.alexlumpov.coberturatest.MyServiceTest): Module class
ru.alexlumpov.coberturatest.MyModule contains unrecognized public methods:
public static int[]
ru.alexlumpov.coberturatest.MyModule.__cobertura_get_and_reset_counters(),
public static void
ru.alexlumpov.coberturatest.MyModule.__cobertura_classmap(net.sourceforge.cobertura.coveragedata.LightClassmapListener),
public static void
ru.alexlumpov.coberturatest.MyModule.__cobertura_classmap_0(net.sourceforge.cobertura.coveragedata.LightClassmapListener),
public static void ru.alexlumpov.coberturatest.MyModule.__cobertura_init().
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
There are test failures.
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)