nilswloka / lein-cucumber

A simple leiningen plugin for running clojure-based cucumber-jvm specifications.
The Unlicense
39 stars 26 forks source link

abstract method exception on getLocation() #25

Open mva opened 11 years ago

mva commented 11 years ago

I'm using lein-cucumber to run tests through the browser with clj-webdriver. With lein cucumber 1.0.2 and clj-webdriver 0.6.0-beta2 this works fine. When I upgrade the webdriver(!) version to 0.6.0-beta3 or 0.6.0 while keeping everything else unchanged, I get the following exception from within lein-cucumber:

Exception in thread "main" java.lang.AbstractMethodError: cucumber.runtime.clj$eval1897$fn$reify__1899.getLocation(Z)Ljava/lang/String;
    at cucumber.runtime.Runtime.runHookIfTagsMatch(Runtime.java:202)
    at cucumber.runtime.Runtime.runHooks(Runtime.java:184)
    at cucumber.runtime.Runtime.runBeforeHooks(Runtime.java:175)
    at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:32)
    at cucumber.runtime.model.CucumberScenarioOutline.run(CucumberScenarioOutline.java:45)
    at cucumber.runtime.model.CucumberFeature.run(CucumberFeature.java:112)
    at cucumber.runtime.Runtime.run(Runtime.java:105)
    at cucumber.runtime.Runtime.run(Runtime.java:93)

I see the same exception with cucumber-clojure 1.1.2, but when linking against 1.1.3 things seem to progress a little bit further before running into issue #24. This could be an indication that this particular problem is fixed already with 1.1.3.

nilswloka commented 11 years ago

What you describe is probably caused by a new method in recent versions of HookDefinition. I have fixed the problem in https://github.com/cucumber/cucumber-jvm/commit/ef83dc20b0242f0ad1f623a2005afbca7d41929a, which explains why everything is working fine with cucumber-clojure 1.1.3.

I would try using something like https://github.com/the-kenny/lein-deps-tree to see whether you accidentally fetch an incompatible version of cucumber-jvm.