2014-06-05 10 views
6

Używam Scala 2.10.3 i sbt 0.13.5 i luźno śledzę Twittera scala sbt tutorial Znalazłem drobny problem. Test jednostkowy w ogóle się nie sprawdzi.Sbt nie uruchomi testów ScalaTest

mój build.sbt:

libraryDependencies += "org.scalatest" % "scalatest_2.10" % "2.1.7" % "test" 

moja klasa Test:

package com.twitter.sample 

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

object SimpleParserSpec extends FlatSpec with Matchers { 
    "SimpleParser" should "work with basic tweet" in { 
    val parser = new SimpleParser 
    val tweet = """{"id":1, "text":"foo"}""" 
    parser.parse(tweet) match { 
     case Some(parsed) => { 
     parsed.text should be ("foo") 
     parsed.id should be (1) 
     } 
     case _ => fail("didn't parse tweet") 
    } 
    } 
} 

i to jest wyjście działa sbt test w folderze projektu:

[info] Loading global plugins from C:\Users\Slench\.sbt\0.13\plugins 
[info] Set current project to twitter-sbt (in build file:/C:/Users/Slench/Desktop/twitter-sbt/) 
[info] Run completed in 36 milliseconds. 
[info] Total number of tests run: 0 
[info] Suites: completed 0, aborted 0 
[info] Tests: succeeded 0, failed 0, canceled 0, ignored 0, pending 0 
[info] No tests were executed. 
[success] Total time: 0 s, completed 05-06-2014 20:19:11 

jestem nie wiem, co się dzieje, wszystkie pliki są we właściwych folderach, wszystko kompiluje się bez błędów i ostrzeżeń s, ale nie uruchomi mojego testu ... Jakiejkolwiek pomocy?

Odpowiedz

5

Zmień swój SimpleParserSpec z object na class i powinno działać.

W szczególności zmiany linia

//bad 
object SimpleParserSpec extends FlatSpec with Matchers 

do

//good 
class SimpleParserSpec extends FlatSpec with Matchers 
+0

yup, który pracował, dzięki –

+0

Jaki jest powód, dlaczego ta zmiana działa? –

Powiązane problemy