Почему бы sbt не запустить пример теста ScalaTest? - PullRequest
0 голосов
/ 01 декабря 2019

Пожалуйста, примите нормальные извинения для новичков.

Я использую scala 2.12.10;В build.sbt я добавил ScalaTest:

libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8" % "test"

Я добавляю несколько scala.js в существующий проект Java, поэтому мои пути к исходным файлам scala нормальные, но я создал несколько пустых каталогов для java и ресурсов и используюдругая цель, чтобы не было столкновения с существующим кодом:

javaSource in Compile := baseDirectory.value / "src/main/scalajs_java"
javaSource in Test := baseDirectory.value / "src/test/scalajs_java"

resourceDirectory in Compile := baseDirectory.value / "src/main/scalajs_resources"
resourceDirectory in Test := baseDirectory.value / "src/test/scalajs_resources"

target := baseDirectory.value / "scalajs_target"

Я поместил пример файла ScalaTest ExampleSpec.scala в src / test / scala / ExampleSpec.scala. Пример прошел нормально, используя org.scalatest.run, как описано в http://www.scalatest.org/.

. Тестовый путь к классу выглядит разумно, я подумал:

sbt:RedsPro-ScalaJS> show test:fullClasspath
[info] * Attributed(/Users/tballard/git/redspro/reds/scalajs_target/scala-2.12/test-classes)
[info] * Attributed(/Users/tballard/git/redspro/reds/scalajs_target/scala-2.12/classes)
[info] * Attributed(/Users/tballard/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.12.10.jar)
[info] * Attributed(/Users/tballard/.ivy2/cache/org.scala-js/scalajs-library_2.12/jars/scalajs-library_2.12-0.6.31.jar)
[info] * Attributed(/Users/tballard/.ivy2/cache/org.scala-js/scalajs-dom_sjs0.6_2.12/jars/scalajs-dom_sjs0.6_2.12-0.9.7.jar)
[info] * Attributed(/Users/tballard/.ivy2/cache/org.scala-js/scalajs-test-bridge_2.12/jars/scalajs-test-bridge_2.12-0.6.31.jar)
[info] * Attributed(/Users/tballard/.ivy2/cache/org.scala-js/scalajs-test-interface_2.12/jars/scalajs-test-interface_2.12-0.6.31.jar)
[info] * Attributed(/Users/tballard/.ivy2/cache/org.scalatest/scalatest_2.12/bundles/scalatest_2.12-3.0.8.jar)
[info] * Attributed(/Users/tballard/.ivy2/cache/org.scalactic/scalactic_2.12/bundles/scalactic_2.12-3.0.8.jar)
[info] * Attributed(/Users/tballard/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.12.10.jar)
[info] * Attributed(/Users/tballard/.ivy2/cache/org.scala-lang.modules/scala-xml_2.12/bundles/scala-xml_2.12-1.2.0.jar)

После компиляции, тест - это то место, где я ожидалit:

> ls scalajs_target/scala-2.12/test-classes/
ExampleSpec.class   ExampleSpec.sjsir   JS_DEPENDENCIES     org/

Однако, очевидно, sbt не убежден, что есть какие-либо тесты:

sbt:RedsPro-ScalaJS>  show definedTestNames
[info] *
[success] Total time: 1 s, completed Dec 1, 2019, 11:37:51 AM

sbt:RedsPro-ScalaJS> testOnly ExampleSpec
[info] Passed: Total 0, Failed 0, Errors 0, Passed 0
[info] No tests to run for Test / testOnly
[success] Total time: 1 s, completed Dec 1, 2019, 12:44:35 PM

Точка в правильном направлении была бы очень признательна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...