2017-02-28 29 views
9

Tôi mới sử dụng scala và tôi đang thử một số mã mẫu để thử nghiệm. Tuy nhiên tôi đang đối mặt với một số vấn đề khi tôi chạy mã thử nghiệm. Khi tôi chạy thử nghiệm, tôi nhận được một lỗi

[trace] Stack trace suppressed: run last test:executeTests for the full output. 
[error] (test:executeTests) java.lang.NoClassDefFoundError: scala/Product$class 
[error] Total time: 3 s, completed Feb 27, 2017 6:57:15 PM 

Mã của tôi là như sau

FilterChecks.scala

class filterChecks extends FlatSpec { 

    "Filter checker passed a filename which is present in directory" should "return file name" in { 
    val matchingFileName = new FileObject("match") 
    val listOfFiles = List(new FileObject("random"), matchingFileName) 
    val matchedFiles = new FilterChecker("match").findMatchedFiles(listOfFiles) 
    assert(matchedFiles == List(matchingFileName)) 

    } 
} 

FilterChecker Lớp

class FilterChecker(filter : String) { 

    def matches(content : String) = content.contains(filter); 

    def findMatchedFiles(fileObjects : List[FileObject]) = { 
    for(fileObject <- fileObjects if(matches(fileObject.name))) 
     yield fileObject 
    } 

} 

FileObject

class FileObject(val name: String) { 

} 

Việc xây dựng tập tin là như sau:

name := "testScalaProject" 

version := "1.0" 

scalaVersion := "2.12.1" 

// https://mvnrepository.com/artifact/org.scala-js/scalajs-test-interface_2.12 
libraryDependencies ++= Seq("org.scala-js" % "scalajs-test-interface_2.12" % "0.6.14", 
    "org.scalatest" % "scalatest_2.11" % "2.2.5", 
    "com.novocode" % "junit-interface" % "0.11", 
    "org.scala-lang" % "scala-library" % "2.12.1") 

Có thể ai đó giúp tôi ra trong việc tìm kiếm vấn đề này. Cảm ơn trước

Trả lời

15

tệp xây dựng sbt của bạn không đúng. phiên bản scala của bạn là 2.12.x nhưng bạn đang sử dụng các thư viện được biên dịch trong phiên bản Scala 2.11. sử dụng các thiết lập SBT hiển thị dưới đây

lưu ý: Tôi đã thay đổi trong những phiên bản của scalatest như các phiên bản 2.x không còn được hỗ trợ cho 2.12 phiên bản của scala

scalaVersion := "2.12.1" 

libraryDependencies ++= Seq(
    "org.scala-js" %% "scalajs-test-interface" % "0.6.14", 
    "org.scalatest" %% "scalatest" % "3.0.1", //version changed as these the only versions supported by 2.12 
    "com.novocode" % "junit-interface" % "0.11", 
    "org.scala-lang" % "scala-library" % scalaVersion.value 
) 

nhớ để làm reload, cleancompile trong bảng điều khiển sbt của bạn để bắt đầu biên dịch sạch

+0

Tôi đã thử chỉnh sửa bằng tệp xây dựng ở trên. Nhưng tôi vẫn phải đối mặt với cùng một lỗi –

+0

bạn có chạy các lệnh 'reload',' clean' và 'compile' trong sbt không? –

+0

Tôi không làm điều đó. Nó hoạt động sau đó. Cảm ơn sự giúp đỡ :-) –

Các vấn đề liên quan