2016-02-18 18 views
8

EDIT: Bu dosya src/test/scala/tests/sr/main/scala/mypackage/içinde değil mi çalışıyor?scalatest: object scalatest, org paketinin üyesi değil

Hemen hemen aynı sorunu olan ancak hiçbirinin çalışmadığı konulardan çözümler deniyorum. Ayrıntılar

, ben build.sbt içinde bu var:

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

sahip bir sınıf intellij olarak:

kırmızı {BeforeAndAfterAll Suite} ile
import org.scalatest.{BeforeAndAfterAll, Suite} 

yüzden scalatest tahmin

bulunursa

sbt paketi çok çalışmaz:

object scalatest, paket org [error] içeriğine üye yok org.scalatest. {BeforeAndAfterAll Suite} Zaten var

bu çalışır:

  • sbt temiz güncelleme
  • yeniden başlatma + intellij
  • kaldır .idea önbelleğini geçersiz/ve reimport
  • libraryDependencies + = "org.scalatest"% "scalatest_2.10"% "2.0"% "test" yerine ogf gerçek
  • Klavyemdeki büyülü ritüel

Hiçbir şey

herhangi bir fikir çalışır?

+0

Neden scalatest'i src/main'de kullanmak istersiniz? – Ben

+0

% "sınama" kütüphane bağımlılığından kaldır. Orada olduğu sürece, derleme aşamasında sınıf yolunda gerekli girişi alamazsınız. – philwalk

+0

Bunu düzelttiniz mi? Bende aynı hatayı alıyorum. Herhangi bir tavsiye yararlı olacaktır. – Srinivas

cevap

13

Sen sbt project structure bakmak gerekir:

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> 

Kişisel scala testleri src/test/scala/ altında yer almalıdır. Orijinal build.sbt, "test" dir yapılandırmada

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

ve bu şu anlama gelir: Eğer gerçekten ana yılında scalatest kullanmak istiyorsanız (ve yapmaya çalıştığını bilmek ne) ise

, bu deneyin scalatest sadece test sınıfında olacak ve ana kaynaklar tarafından gerekli değildir. Bu genellikle kütüphaneler için iyi bir uygulamadır çünkü kullanıcılarınız kütüphanenizi kullanmak için genellikle test bağımlılıklarına ihtiyaç duymazlar (ref).

+0

45 dakika karışıklıktan sonra, teşekkür ederim ... gerçekten –