2015-03-06 21 views
5

Sto provando a farlo funzionare con ScalaJS e SBT. SBT sta compilando i file e uTest è in esecuzione, ma semplicemente ignora i miei test. Prova come potrei io non riesco a trovare alcuna differenza tra il mio codice e gli esempi del tutorial.Impossibile ottenere uProva per vedere i miei test

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) 
    } 
    } 
} 

uscita:

> 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 

Se mi presento un errore di sintassi, il test SBT lo vede:

> 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 

Quindi è sicuramente vedere il codice, semplicemente non sembra pensare che "test" contenga test.

In caso contrario, il codice non-test, SBT + ScalaJS sembra funzionare bene ...

Grazie per qualsiasi aiuto, io sono perplesso.

risposta

7

Il tuo errore sta nella dipendenza da uTest:

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

Si tratta di una dipendenza JVM. Per utilizzare la dipendenza Scala.js-enabled, utilizzare %%% invece di %%, in questo modo:

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

Inoltre, probabilmente si vuole questa dipendenza solo nella configurazione di prova, in modo da aggiungere un % "test" alla fine:

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

Grazie, ha funzionato alla grande! (Se non fossi nuovo di zecca qui e avessi il permesso di farlo, avrei alzato il voto) –

+0

Oh mio Dio, vorrei aver visto questa risposta un'ora fa! Questo dovrebbe essere sottolineato in modo più esplicito nella documentazione ... – fedragon