2016-02-18 12 views
8

EDIT: यह काम करता है अगर फ़ाइल src/test/scala/test/में है, लेकिन src/main/scala/mypackage/क्यों नहीं है?स्केलटेस्ट: ऑब्जेक्ट स्केलेटेस्ट पैकेज का सदस्य नहीं है

मैंने उन विषयों के समाधानों का समाधान किया है जिनके पास लगभग एक ही समस्या है लेकिन कोई भी काम नहीं करता है।

विवरण में, मैं build.sbt में यह है:

libraryDependencies ++= Seq(
    ... 
    "org.scalatest" % "scalatest_2.10" % "2.2.1" % "test", 
    ... 

के साथ एक कक्षा IntelliJ में:

import org.scalatest.{BeforeAndAfterAll, Suite} 
लाल रंग में {BeforeAndAfterAll, सुइट} के साथ

तो मैं अनुमान scalatest

पाया जाता है

एसबीटी पैकेज भी काम नहीं करता:

ऑब्जेक्ट स्केलटेस्ट पैकेज संगठन का सदस्य नहीं है [त्रुटि] org.scalatest आयात करें। {BeforeAndAfterAll, सुइट}

मैं पहले से ही है इस कोशिश करता है:

  • एसबीटी स्वच्छ अद्यतन
  • पुनः आरंभ + अमान्य IntelliJ
  • निकालें .idea की कैश/और फिर आयात
  • libraryDependencies + = "org.scalatest"% "scalatest_2.10"% "2.0"% "test" इसके बजाय वास्तविक
  • मेरे कीबोर्ड पर जादुई अनुष्ठान

कुछ भी नहीं

किसी भी विचार काम करता है?

+0

आप src/main में scalatest का उपयोग क्यों करना चाहते हैं? – Ben

+0

स्केलेटेस्ट लाइब्रेरी निर्भरता से% "test" को हटा दें। जब तक वहां है, तब तक आपको संकलन चरण के दौरान कक्षापथ में आवश्यक प्रविष्टि नहीं मिलेगी। – philwalk

+0

क्या आपने इसे ठीक किया? मुझे समान त्रुटि प्राप्त हो रही है। कोई भी सलाह सहायक होगी। – Srinivas

उत्तर

13

आप sbt project structure पर एक नज़र रखना चाहिए:

src/ 
    main/ 
    resources/ 
     <files to include in main jar here> 
    scala/ 
     <main Scala sources> 
    java/ 
     <main Java sources> 
    test/ 
    resources 
     <files to include in test jar here> 
    scala/ 
     <test Scala sources> 
    java/ 
     <test Java sources> 

आपका स्केला परीक्षण src/test/scala/ अंतर्गत जाना चाहिए। अपने मूल build.sbt विन्यास, "परीक्षण" है में

"org.scalatest" % "scalatest_2.10" % "2.2.1", 

और यह इसका मतलब है कि:

तुम सच में मुख्य में scalatest उपयोग करना चाहते हैं (और आप जानते हैं कि आप क्या करने की कोशिश कर रहे हैं), तो यह कोशिश स्केलटेस्ट केवल टेस्ट क्लासपाथ पर होगा और इसकी मुख्य स्रोतों की आवश्यकता नहीं है। यह आमतौर पर पुस्तकालयों के लिए अच्छा अभ्यास है क्योंकि आपके उपयोगकर्ताओं को आमतौर पर आपकी लाइब्रेरी (ref) का उपयोग करने के लिए अपनी परीक्षण निर्भरताओं की आवश्यकता नहीं होती है।

+0

45 मिनट भ्रम के बाद, धन्यवाद ... वास्तव में –

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