You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Alex Lumpov (JIRA)" <ji...@apache.org> on 2015/03/18 16:52:38 UTC
[jira] [Created] (TAP5-2468) Tapestry & Cobertura
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)