2015-04-30 17 views
6

Testlerimi sbt ile çalıştırmaya çalışıyorum ve sonra test ediyorum.ScalaTest on sbt hiçbir test çalıştırmıyor

Benim build.sbt bu

lazy val scalatest = "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test" 
lazy val root = (project in file(".")). 
settings(
    name := "highlight2pdf", 
    version := "0.1", 
    scalaVersion := "2.11.6", 
    libraryDependencies += scalatest 
) 

benziyor Ve ben sadece

import collection.mutable.Stack 
    import org.scalatest._ 

    class ExampleSpec extends FlatSpec with Matchers { 

     "A Stack" should "pop values in last-in-first-out order" in { 
      val stack = new Stack[Int] 
      stack.push(1) 
      stack.push(2) 
      stack.pop() should be (2) 
      stack.pop() should be (1) 
     } 

     it should "throw NoSuchElementException if an empty stack is popped" in { 
      val emptyStack = new Stack[Int] 
      a [NoSuchElementException] should be thrownBy { 
       emptyStack.pop() 
      } 
     } 
    } 

Yine her zaman göstermek

test/scala üzerinde örnek testi koydu:

[bilgi] Hayır testleri idam edildi.

İşe yarayan işler işe yaramıyor mu?

cevap

7

Dizin yapısı için varsayılan olarak ExampleSpec.scala bulmak için doğru kural değildir.

├── built.sbt 
├── src 
│   └── test 
│    └── scala 
│     ├── ExampleSpec.scala 

yukarıdaki yapıya Değişim onu ​​ve üst düzey dizinde sbt test çalıştırmak ve çalışması gerekir. Aynı şekilde, scala kaynağı src/main/scala'a girer ve derlenir.

> test 
[info] Compiling 1 Scala source to /tmp/TestsWontRun/target/scala-2.11/test-classes... 
[info] ExampleSpec: 
[info] A Stack 
[info] - should pop values in last-in-first-out order 
[info] - should throw NoSuchElementException if an empty stack is popped 
[info] Run completed in 289 milliseconds. 
[info] Total number of tests run: 2 
[info] Suites: completed 1, aborted 0 
[info] Tests: succeeded 2, failed 0, canceled 0, ignored 0, pending 0 
[info] All tests passed. 
[success] Total time: 7 s, completed Apr 30, 2015 8:54:30 AM