arquillian / arquillian-testrunner-spock

Arquillian Spock TestRunner
Apache License 2.0
30 stars 20 forks source link

Spock Runner does not run with Arquillian-Core >= 1.1.4.Final #20

Closed robertpanzer closed 9 years ago

robertpanzer commented 9 years ago

If I use the spock runner with Arquillian-Core 1.1.7.Final I get the following error:

java.lang.NoSuchMethodError: org.jboss.arquillian.test.spi.TestResult.setEnd(J)V
    at org.jboss.arquillian.spock.standalone.LocalTestMethodExecutor.execute(LocalTestMethodExecutor.java:65)
    at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)

This is due to a change in TestResult that went into arquillian-core 1.1.4.Final. The return type of the the method changed from void to TestResult.

A recompilation with updated dependencies should be sufficient to resolve the problem.

robertpanzer commented 9 years ago

Just retested with 1.1.3.Final and 1.1.4.Final and I can confirm that the error occurs with 1.1.4.Final but not with 1.1.3.Final.

aslakknutsen commented 9 years ago

Are you using the Arquillian-Bom ?

robertpanzer commented 9 years ago

No, I am currently playing around with Spock in AsciidoctorJ (gradle) and didn’t dare yet to introduce the DependencyManagement plugin ;-)

But I can’t imagine how that could help if the org.jboss.arquillian.spock.standalone.LocalTestMethodExecutor is compiled against arquillian-core <= 1.1.3.Final and I want to run with something more recent.

And I’ve some other issues as well, but these are probably my fault. I always get this exception because leaveScope is called twice but only one scope is added in the MockController constructor:

java.util.NoSuchElementException
    at java.util.LinkedList.removeFirst(LinkedList.java:270)
    at org.spockframework.mock.runtime.MockController.leaveScope(MockController.java:75)
    at org.asciidoctor.WhenAnAsciidoctorDocumentIsLoaded.Should return section blocks(WhenAnAsciidoctorDocumentIsLoaded.groovy:56)

My current dependencies are:

testRuntime - Runtime classpath for source set 'test'.
+--- org.jruby:jruby-complete:1.7.18
+--- com.beust:jcommander:1.35
+--- project :asciidoctorj-api
+--- junit:junit:4.11
|    \--- org.hamcrest:hamcrest-core:1.3
+--- org.hamcrest:hamcrest-library:1.3
|    \--- org.hamcrest:hamcrest-core:1.3
+--- org.jboss.arquillian.junit:arquillian-junit-standalone:1.1.3.Final
|    +--- org.jboss.arquillian.junit:arquillian-junit-core:1.1.3.Final
|    |    \--- org.jboss.arquillian.test:arquillian-test-spi:1.1.3.Final
|    |         +--- org.jboss.arquillian.core:arquillian-core-spi:1.1.3.Final
|    |         |    \--- org.jboss.arquillian.core:arquillian-core-api:1.1.3.Final
|    |         \--- org.jboss.arquillian.test:arquillian-test-api:1.1.3.Final
|    |              \--- org.jboss.arquillian.core:arquillian-core-api:1.1.3.Final
|    +--- org.jboss.arquillian.test:arquillian-test-spi:1.1.3.Final (*)
|    +--- org.jboss.arquillian.core:arquillian-core-impl-base:1.1.3.Final
|    |    +--- org.jboss.arquillian.core:arquillian-core-api:1.1.3.Final
|    |    \--- org.jboss.arquillian.core:arquillian-core-spi:1.1.3.Final (*)
|    +--- org.jboss.arquillian.test:arquillian-test-impl-base:1.1.3.Final
|    |    +--- org.jboss.arquillian.test:arquillian-test-api:1.1.3.Final (*)
|    |    \--- org.jboss.arquillian.test:arquillian-test-spi:1.1.3.Final (*)
|    \--- org.jboss.arquillian.config:arquillian-config-impl-base:1.1.3.Final
|         +--- org.jboss.arquillian.config:arquillian-config-api:1.1.3.Final
|         |    \--- org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-api-base:2.0.0-alpha-5
|         +--- org.jboss.arquillian.core:arquillian-core-api:1.1.3.Final
|         +--- org.jboss.arquillian.core:arquillian-core-spi:1.1.3.Final (*)
|         \--- org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-spi:2.0.0-alpha-5
|              +--- org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-api-base:2.0.0-alpha-5
|              \--- org.easytesting:fest-assert:1.4
|                   \--- org.easytesting:fest-util:1.1.6
+--- org.spockframework:spock-core:0.7-groovy-2.0
|    +--- junit:junit-dep:4.10
|    \--- org.codehaus.groovy:groovy-all:2.0.5 -> 2.1.8
+--- org.codehaus.groovy:groovy-all:2.1.8
+--- org.jboss.arquillian.spock:arquillian-spock-standalone:1.0.0.Beta3
|    +--- org.jboss.arquillian.spock:arquillian-spock-core:1.0.0.Beta3
|    |    \--- org.jboss.arquillian.test:arquillian-test-spi:1.1.2.Final -> 1.1.3.Final (*)
|    +--- org.jboss.arquillian.junit:arquillian-junit-core:1.1.2.Final -> 1.1.3.Final (*)
|    +--- org.jboss.arquillian.test:arquillian-test-spi:1.1.2.Final -> 1.1.3.Final (*)
|    +--- org.jboss.arquillian.core:arquillian-core-impl-base:1.1.2.Final -> 1.1.3.Final (*)
|    +--- org.jboss.arquillian.test:arquillian-test-impl-base:1.1.2.Final -> 1.1.3.Final (*)
|    \--- org.jboss.arquillian.config:arquillian-config-impl-base:1.1.2.Final -> 1.1.3.Final (*)
+--- org.xmlmatchers:xml-matchers:1.0-RC1
|    +--- org.hamcrest:hamcrest-core:1.3
|    \--- xmlunit:xmlunit:1.3
+--- net.sf.saxon:Saxon-HE:9.5.1-6
+--- com.google.guava:guava:18.0
+--- org.jsoup:jsoup:1.8.1
\--- project :asciidoctorj-test-support
     +--- junit:junit:4.11 (*)
     +--- org.hamcrest:hamcrest-library:1.3 (*)
     +--- org.jboss.arquillian.junit:arquillian-junit-standalone:1.1.3.Final (*)
     +--- org.spockframework:spock-core:0.7-groovy-2.0 (*)
     +--- org.codehaus.groovy:groovy-all:2.1.8
     +--- org.jboss.arquillian.spock:arquillian-spock-standalone:1.0.0.Beta3 (*)
     +--- org.jboss.arquillian.container:arquillian-container-spi:1.1.3.Final
     |    +--- org.jboss.arquillian.core:arquillian-core-spi:1.1.3.Final (*)
     |    +--- org.jboss.arquillian.config:arquillian-config-api:1.1.3.Final (*)
     |    +--- org.jboss.arquillian.config:arquillian-config-impl-base:1.1.3.Final (*)
     |    +--- org.jboss.shrinkwrap:shrinkwrap-api:1.2.1
     |    \--- org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-api-base:2.0.0-alpha-5
     +--- org.jboss.arquillian.container:arquillian-container-test-spi:1.1.3.Final
     |    +--- org.jboss.arquillian.container:arquillian-container-spi:1.1.3.Final (*)
     |    +--- org.jboss.arquillian.test:arquillian-test-spi:1.1.3.Final (*)
     |    \--- org.jboss.arquillian.container:arquillian-container-test-api:1.1.3.Final
     |         \--- org.jboss.shrinkwrap:shrinkwrap-api:1.2.1
     +--- org.jboss.arquillian.container:arquillian-container-impl-base:1.1.3.Final
     |    +--- org.jboss.arquillian.core:arquillian-core-api:1.1.3.Final
     |    +--- org.jboss.arquillian.core:arquillian-core-spi:1.1.3.Final (*)
     |    +--- org.jboss.arquillian.config:arquillian-config-api:1.1.3.Final (*)
     |    +--- org.jboss.arquillian.config:arquillian-config-impl-base:1.1.3.Final (*)
     |    +--- org.jboss.arquillian.container:arquillian-container-spi:1.1.3.Final (*)
     |    \--- org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-spi:2.0.0-alpha-5 (*)
     +--- org.jboss.arquillian.container:arquillian-container-test-impl-base:1.1.3.Final
     |    +--- org.jboss.arquillian.container:arquillian-container-spi:1.1.3.Final (*)
     |    +--- org.jboss.arquillian.test:arquillian-test-api:1.1.3.Final (*)
     |    +--- org.jboss.arquillian.container:arquillian-container-test-api:1.1.3.Final (*)
     |    \--- org.jboss.arquillian.container:arquillian-container-test-spi:1.1.3.Final (*)
     +--- org.jboss.arquillian.junit:arquillian-junit-container:1.1.3.Final
     |    +--- org.jboss.arquillian.junit:arquillian-junit-core:1.1.3.Final (*)
     |    +--- org.jboss.arquillian.test:arquillian-test-api:1.1.3.Final (*)
     |    +--- org.jboss.arquillian.test:arquillian-test-spi:1.1.3.Final (*)
     |    +--- org.jboss.arquillian.container:arquillian-container-test-api:1.1.3.Final (*)
     |    +--- org.jboss.arquillian.container:arquillian-container-test-spi:1.1.3.Final (*)
     |    +--- org.jboss.arquillian.core:arquillian-core-impl-base:1.1.3.Final (*)
     |    +--- org.jboss.arquillian.test:arquillian-test-impl-base:1.1.3.Final (*)
     |    +--- org.jboss.arquillian.container:arquillian-container-impl-base:1.1.3.Final (*)
     |    +--- org.jboss.arquillian.container:arquillian-container-test-impl-base:1.1.3.Final (*)
     |    \--- org.jboss.shrinkwrap:shrinkwrap-impl-base:1.2.1
     |         +--- org.jboss.shrinkwrap:shrinkwrap-api:1.2.1
     |         \--- org.jboss.shrinkwrap:shrinkwrap-spi:1.2.1
     |              \--- org.jboss.shrinkwrap:shrinkwrap-api:1.2.1
     \--- project :asciidoctorj-api
robertpanzer commented 9 years ago

The test case is not available yet on github. If you want to try that out I would have to push that.

Happy easter!

aslakknutsen commented 9 years ago

sure, push it to some branch :)

robertpanzer commented 9 years ago

Sorry, had some issue in my dependencies. It works now.

Thank you for responding so quickly!

aslakknutsen commented 9 years ago

:+1:

robertpanzer commented 9 years ago

Just to make it complete in case someone else stumbles over the same problem: Problem was that I mixed arquillian-junit-container and arquillian-spock-standalone. Must be both arquillian-junit-container and arquillian-spock-container.

ghost commented 9 years ago

so to conclude, are you able to run it with version >= 1.1.4.Final, or only with 1.1.3?

robertpanzer commented 9 years ago

Yes! It's used here: https://github.com/asciidoctor/asciidoctorj/tree/asciidoctorj-1.6.0

ghost commented 9 years ago

hmmmm than strange because i have both arquillian-junit-container 1.1.8.Final and arquillian-spock-container 1.0.0.Beta3 and still the problem with java.lang.NoSuchMethodError: org.jboss.arquillian.test.spi.TestResult.setEnd(J)V :/

rjesususa commented 9 years ago

I have the same problem with https://github.com/ingwarsw/arquillian-suite-extension @RunWith(Arquillian.class) @RunAsClient @ArquillianSuiteDeployment public abstract class BaseAPITest