Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Junit Error when activating reporting in arquillian.xml #9

Closed
paonesistema opened this issue Apr 10, 2013 · 6 comments
Closed

Junit Error when activating reporting in arquillian.xml #9

paonesistema opened this issue Apr 10, 2013 · 6 comments

Comments

@paonesistema
Copy link

I am using Eclipse 4.2 and Junit 4.
I am trying to test a local jboss server where my app is deployed with @deployment(testable=false)

When (and only when) I activate cucumber reporting in arquillian.xml
I have:
java.lang.RuntimeException: Could not run @AfterSuite
at org.jboss.arquillian.junit.Arquillian$1.shutdown(Arquillian.java:140)
at org.jboss.arquillian.junit.Arquillian$1.testRunFinished(Arquillian.java:114)
at org.junit.runner.notification.RunNotifier$2.notifyListener(RunNotifier.java:95)
at org.junit.runner.notification.RunNotifier$SafeNotifier.run(RunNotifier.java:61)
at org.junit.runner.notification.RunNotifier.fireTestRunFinished(RunNotifier.java:92)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:51)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.IllegalArgumentException: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getFileName' in class net.masterthought.cucumber.json.Feature in template templates/featureOverview.vm at line=255 column=58 threw exception class java.lang.NoSuchMethodError : com.google.common.base.Platform.precomputeCharMatcher(Lcom/google/common/base/CharMatcher;)Lcom/google/common/base/CharMatcher;
at cucumber.runtime.arquillian.reporter.CucumberReporter.doReport(CucumberReporter.java:71)
at cucumber.runtime.arquillian.reporter.CucumberReporter.reportOnStop(CucumberReporter.java:33)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createContainerContext(ContainerDeploymentContextHandler.java:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$4.perform(ContainerLifecycleController.java:107)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$4.perform(ContainerLifecycleController.java:100)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.forEachSuiteContainer(ContainerLifecycleController.java:221)
at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.stopSuiteContainers(ContainerLifecycleController.java:99)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:91)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.afterSuite(EventTestRunnerAdaptor.java:73)
at org.jboss.arquillian.junit.Arquillian$1.shutdown(Arquillian.java:128)
... 10 more
Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getFileName' in class net.masterthought.cucumber.json.Feature in template templates/featureOverview.vm at line=255 column=58 threw exception class java.lang.NoSuchMethodError : com.google.common.base.Platform.precomputeCharMatcher(Lcom/google/common/base/CharMatcher;)Lcom/google/common/base/CharMatcher;
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:272)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:181)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:229)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:57)
at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:414)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:117)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:235)
at org.apache.velocity.Template.merge(Template.java:254)
at net.masterthought.cucumber.ReportBuilder.generateReport(ReportBuilder.java:189)
at net.masterthought.cucumber.ReportBuilder.generateFeatureOverview(ReportBuilder.java:116)
at net.masterthought.cucumber.ReportBuilder.generateReports(ReportBuilder.java:49)
at cucumber.runtime.arquillian.reporter.CucumberReporter.doReport(CucumberReporter.java:63)
... 61 more
Caused by: java.lang.NoSuchMethodError: com.google.common.base.Platform.precomputeCharMatcher(Lcom/google/common/base/CharMatcher;)Lcom/google/common/base/CharMatcher;
at com.google.common.base.CharMatcher.precomputed(CharMatcher.java:662)
at com.google.common.base.CharMatcher.(CharMatcher.java:69)
at com.google.common.base.Splitter.(Splitter.java:101)
at com.google.common.base.Splitter.on(Splitter.java:211)
at com.google.common.base.Splitter.onPattern(Splitter.java:245)
at net.masterthought.cucumber.json.Feature.getFileName(Feature.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:280)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:215)
... 72 more

@rmannibucau
Copy link
Member

Hi, i think you have an issue with google-collections version, can you check it please?

@paonesistema
Copy link
Author

from the effective pom:

 <dependency>
    <groupId>com.google.inject</groupId>
    <artifactId>guice</artifactId>
    <version>3.0</version>
  </dependency>

@rmannibucau
Copy link
Member

Do you have guava in the classpath? (com.google.guava:guava:jar:r09 by default). It comes from this jar IIRC

@paonesistema
Copy link
Author

I have it in my m2 reposityory but I can't see in my project maven dependencies....
should I add it in my project pom?

@rmannibucau
Copy link
Member

it should be here because of cucumber-reporting:

[INFO] +- net.masterthought:cucumber-reporting:jar:0.0.17:compile
[INFO] |  +- com.google.code.gson:gson:jar:2.2.1:compile
[INFO] |  +- maven:velocity:jar:1.5-20060721.044818:compile
[INFO] |  |  +- commons-collections:commons-collections:jar:3.1:compile
[INFO] |  |  +- commons-lang:commons-lang:jar:2.1:compile
[INFO] |  |  +- jdom:jdom:jar:1.0:compile
[INFO] |  |  +- avalon-logkit:avalon-logkit:jar:2.1:compile
[INFO] |  |  +- oro:oro:jar:2.0.8:compile
[INFO] |  |  \- werken-xpath:werken-xpath:jar:0.9.4:compile
[INFO] |  +- joda-time:joda-time:jar:2.1:compile
[INFO] |  +- com.google.guava:guava:jar:r09:compile
[INFO] |  \- commons-io:commons-io:jar:2.3:compile

@paonesistema
Copy link
Author

Solved!
another google-collections (in jboss-as-arquillian-container-managed) clashed with that of guava ....
see:
http://stackoverflow.com/questions/3126276/splitter-blows-up-on-simple-pattern

it was solved with:

    <dependency>
        <groupId>org.jboss.as</groupId>
        <artifactId>jboss-as-arquillian-container-managed</artifactId>
        <version>7.1.1.Final</version>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <artifactId>google-collections</artifactId>
                <groupId>com.google.collections</groupId>
            </exclusion>
        </exclusions>
    </dependency>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants