2017-07-05 10 views
7

में spek का उपयोग कर रहा kotlin परीक्षण में spek का उपयोग कर बहुत नया हूँ। Spek का उपयोग करते समय, लॉगकैट पर निम्न त्रुटि मिली। मुझे नहीं पता कि मैं क्यों इसjava.lang.ClassNotFoundException: com.intellij.junit5.JUnit5IdeaTestRunner kotlin

java.lang.ClassNotFoundException: com.intellij.junit5.JUnit5IdeaTestRunner 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:264) 
    at com.intellij.rt.execution.junit.JUnitStarter.getAgentClass(JUnitStarter.java:252) 
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) 
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:131) 

मिला मैं Gradle फ़ाइल पर निर्भरता निम्नलिखित है

testImplementation 'junit:junit:4.12' 
testImplementation 'org.jetbrains.spek:spek-api:1.1.0-beta3' 
testImplementation 'org.jetbrains.spek:spek-junit-platform-engine:1.1.0-beta3' 
testImplementation 'org.junit.platform:junit-platform-runner:1.0.0-M3' 

टेस्ट फ़ाइल

import org.jetbrains.spek.api.Spek 
import org.jetbrains.spek.api.dsl.given 
import org.jetbrains.spek.api.dsl.it 
import org.junit.Assert.assertEquals 
import org.junit.platform.runner.JUnitPlatform 
import org.junit.runner.RunWith 

@RunWith(JUnitPlatform::class) 
class ExampleUnitTest : Spek({ 
    val x = 2 
    val y = 3 

    given("x = $x and y = $y") { 
     val sum = x + y 

     it("should be that x + y = 5") { 
      assertEquals(5, sum) 
     } 

     it("should be that x - y = -1") { 
      val subtract = x - y 
      assertEquals(-1, subtract) 
     } 

    } 
}) 

सुझाव कृपया, त्रुटि कैसे इस तरह की प्राप्त करने के लिए । मैं इस विषय पर आपके मूल्यवान सुझाव या टिप्पणियों को अपनाना चाहता हूं।

+0

हाय, हो सकता है कि यह आपके लिए उपयोगी है: http://spekframework.org/docs/latest/#_android –

उत्तर

9

तुम बस पुस्तकालय, जो धावक शामिल जोड़ने के लिए (भी http://junit.org/junit5/docs/current/user-guide/#installation देख)

testImplementation 'org.junit.jupiter:junit-jupiter-api:5.0.0-M3' 

मैं भी नवीनतम संस्करण में अपने spek-libs अद्यतन करने के लिए प्रोत्साहित करते हैं:

testImplementation 'junit:junit:4.12' 
testImplementation 'org.jetbrains.spek:spek-api:1.1.2' 
testImplementation 'org.jetbrains.spek:spek-junit-platform-engine:1.1.2' 
testImplementation 'org.junit.platform:junit-platform-runner:1.0.0-M5' 
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.0.0-M5' 

अद्यतन

वर्तमान में, हालिया जूनिट लिब व्हाट एम 5-मीलस्टोन के साथ संगत नहीं है, इसलिए इसका उपयोग करें संस्करण एम 4

testImplementation 'org.junit.platform:junit-platform-runner:1.0.0-M4' 
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.0.0-M4' 
+0

धन्यवाद अपने समय को बचाने के लिए, परीक्षण सफलतापूर्वक पास करने लगता है, लेकिन मैं कुछ चेतावनियों मिला: * * चेतावनी: आईडी 'जूनिट-बृहस्पति' के साथ टेस्टइंजिन परीक्षण ** और ** खोजने में असफल रहा: चेतावनी: आईडी 'जूनिट-बृहस्पति' के साथ टेस्टइंजिन परीक्षणों की खोज में विफल रहा ** फिर भी धन्यवाद। –

+1

मैंने आपको उपर्युक्त विवरण अपडेट किया है। यदि आप एम 5 से एम 4 तक संस्करण को कम करते हैं, तो यह काम करता है। – guenhter

+0

@guenhter धन्यवाद !! – w3bshark

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