Не могу получить тест, чтобы увидеть мои тесты
Я пытаюсь заставить uTest работать со ScalaJS и SBT. SBT компилирует файлы, и uTest работает, но он просто игнорирует мои тесты. Попробуйте, как я мог, я не могу найти никакой разницы между моим кодом и учебными примерами.
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 / тест / Scala / ком / MySite / Юпитер /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)
}
}
}
Выход:
> 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
Если я введу синтаксическую ошибку, sbt test увидит это:
> 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
Так что он определенно видит код, просто кажется, что "тесты" не содержат никаких тестов.
В противном случае в не тестовом коде SBT+ScalaJS работает нормально...
Спасибо за любую помощь, я озадачен.
1 ответ
Ваша ошибка заключается в зависимости от uTest:
libraryDependencies += "com.lihaoyi" %% "utest" % "0.3.0"
Это зависимость JVM. Чтобы использовать зависимость с поддержкой Scala.js, используйте %%%
вместо %%
, как это:
libraryDependencies += "com.lihaoyi" %%% "utest" % "0.3.0"
Кроме того, вы, вероятно, хотите эту зависимость только в тестовой конфигурации, поэтому добавьте % "test"
конец:
libraryDependencies += "com.lihaoyi" %%% "utest" % "0.3.0" % "test"