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)