2016-02-10 6 views
21

के साथ कक्षा को कार्यान्वित करना Scalacheck और ScalaTest का उपयोग करके परीक्षण लिखने का प्रयास करते समय मुझे एक बुरा अपवाद का सामना करना पड़ रहा है। यहाँ मेरी निर्भरता है:java.lang.IncompatibleClassChangeError: Scalacheck और ScalaTest

libraryDependencies ++= Seq(
    "org.scalatest" %% "scalatest" % "2.2.6" % "test", 
    "org.scalacheck" %% "scalacheck" % "1.13.0" % "test" 
) 

यहाँ है अपने परीक्षण:

import org.scalatest.PropSpec 
import org.scalatest.prop.Checkers 

class MyPropSpec extends PropSpec with Checkers { 

    property("List.concat") { 
    check((a: List[Int], b: List[Int]) => a.size + b.size == (a ::: b).size) 
    } 
} 

जब मैं इस चलाने के लिए मैं हो रही है कोशिश:

DeferredAbortedSuite: 
Exception encountered when attempting to run a suite with class name:  org.scalatest.DeferredAbortedSuite *** ABORTED *** 
    java.lang.IncompatibleClassChangeError: Implementing class 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    ... 
    java.lang.IncompatibleClassChangeError: Implementing class 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 

क्या मैं यहाँ याद आ रही है?

उत्तर

47

स्कैलाटेस्ट 2.2.6 स्कैलाचेक 1.13.0 के साथ असंगत है। "स्केलैच"% डाउनग्रेडिंग "1.12.5" मदद करता है।

यह https://github.com/rickynils/scalacheck/issues/217 के रूप में रिपोर्ट किया गया था। समस्या निम्नलिखित संकल्प के साथ बंद है:

All current releases of ScalaTest (2.2.6, 3.0.0 etc) are built against ScalaCheck 1.12.1 (see https://github.com/scalatest/scalatest/blob/master/project/scalatest.scala#L134). Therefore, there are no guarantees that you can simply swap out ScalaCheck 1.12.x for 1.13.y. ScalaCheck only maintains binary compatibility within the same minor version series (1.12.1, 1.12.2, 1.12.3 etc).

+0

धन्यवाद, इसे उत्तर –

+2

धन्यवाद के रूप में चिह्नित करें। इसने मुझे बहुत दर्दनाक समय बचाया। – seanmcl

संबंधित मुद्दे