2015-03-06 13 views
5

Ich versuche, Sie mit ScalaJS und SBT arbeiten zu lassen. SBT kompiliert die Dateien und uTest läuft, ignoriert aber einfach meine Tests. Versuchen Sie, wie ich könnte, kann ich keinen Unterschied zwischen meinem Code und den Tutorial-Beispielen finden.Ich kann Sie nicht dazu bringen, meine Tests zu sehen

build.sbt:

enablePlugins(ScalaJSPlugin) 
name := "Scala.js Stuff" 
scalaVersion := "2.11.5" // or any other Scala version >= 2.10.2 
scalaJSStage in Global := FastOptStage 
libraryDependencies += "com.lihaoyi" %% "utest" % "0.3.0" 
testFrameworks += new TestFramework("utest.runner.Framework") 

src/test/scala/com/mysite/jovian/GeometryTest.scala:

package com.mysite.jovian 
import utest._ 
object GeometryTest extends TestSuite { 
    def tests = TestSuite { 
     'addPoints { 
     val p: Point = new Point(3,4) 
     val q: Point = new Point(4,3) 
     val expected: Point = new Point(8,8) 
     assert(p.plus(q).equals(expected)) 
     throw new Exception("foo") 
    } 
    'fail { 
     assert(1==2) 
    } 
    } 
} 

Ausgang:

> reload 
[info] Loading project definition from /Users/me/Dropbox (Personal)/mysite/flocks/project 
[info] Set current project to Scala.js Stuff (in build file:/Users/me/Dropbox%20(Personal)/mysite/flocks/) 
> test 
[success] Total time: 1 s, completed Mar 6, 2015 7:01:41 AM 
> test-only -- com.mysite.jovian.GeometryTest 
[info] Passed: Total 0, Failed 0, Errors 0, Passed 0 
[info] No tests to run for test:testOnly 
[success] Total time: 1 s, completed Mar 6, 2015 7:01:49 AM 

Wenn ich vorstellen ein Syntaxfehler, sbt Test sieht es:

> test 
[info] Compiling 1 Scala source to /Users/me/Dropbox (Personal)/mysite/flocks/target/scala-2.11/test-classes... 
[error] /Users/me/Dropbox (Personal)/mysite/flocks/src/test/scala/com/mysite/jovian/GeometryTest.scala:21: not found: value blablablablabla 
[error] blablablablabla 
[error] ^
[error] one error found 
[error] (test:compile) Compilation failed 
[error] Total time: 1 s, completed Mar 6, 2015 7:03:54 AM 

So sieht es definitiv den Code, es scheint nur nicht zu denken, dass "Tests" irgendwelche Tests enthält.

Andernfalls im Nicht-Test-Code, SBT + ScalaJS scheint gut zu funktionieren ...

Vielen Dank für jede Hilfe, ich bin verwirrt.

Antwort

7

Ihr Fehler liegt in der Abhängigkeit von uTest:

libraryDependencies += "com.lihaoyi" %% "utest" % "0.3.0" 

Dies ist eine JVM Abhängigkeit. Um die Scala.js-fähigen Abhängigkeit zu verwenden, verwenden %%% statt %%, wie folgt aus:

libraryDependencies += "com.lihaoyi" %%% "utest" % "0.3.0" 

Zusätzlich werden Sie wahrscheinlich nur in der Testkonfiguration diese Abhängigkeit wollen, so fügen % "test" ein das Ende:

libraryDependencies += "com.lihaoyi" %%% "utest" % "0.3.0" % "test" 
+0

Danke, das hat super funktioniert! (Wenn ich hier nicht brandneu wäre und würde dürfen, würde ich nachholen) –

+0

Oh mein Gott, ich wünschte, ich hätte diese Antwort vor einer Stunde gesehen! Dies sollte in der Dokumentation noch deutlicher herausgestellt werden ... – fedragon

Verwandte Themen