#scala #intellij-idea #playframework #sbt #specs2
#scala #intellij-идея #playframework #sbt #specs2
Вопрос:
У меня есть проект Scala Play, который используется specs2
в качестве тестовой платформы. Мне сложно запускать тесты из IntelliJ. Я получаю следующую ошибку:
InvocationTargetException for 'main' in org.specs2.NotifierRunner: null
Process finished with exit code 0
Тесты успешно выполняются из sbt
. Я видел несколько других сообщений, в которых говорится, что это может быть связано с ScalaTestPlus
, но я не использую ScalaTest
.
Вот как выглядят мои зависимости
build.sbt
libraryDependencies = Seq(
ws,
guice,
specs2 % Test,
...
)
project/plugins.sbt
// The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.6.6")
...
Тест выглядит следующим образом:
@RunWith(classOf[JUnitRunner])
class MyAppSpec extends PlaySpecification with Mockito {
...
Комментарии:
1. Какую команду вы используете, которая работает
sbt
?2. Не могли бы вы запустить
sbt> show externalDependencyClasspath
и проверить, какая версия specs2? Возможно, вы захотите попробоватьspecs2-core-4.10.5
3. Какую конфигурацию запуска вы используете для запуска тестов? Проверьте jetbrains.com/help/idea /…
4. @TomerShetah я просто запускаю
sbt test
@Eric, которого я не вижуspecs2
наshow externalDependencyClasspath
. Я попытался добавитьdependencyOverrides = "org.specs2" % "specs2" % "3.7" % Test
иdependencyOverrides = "org.specs2" % "specs2-core" % "4.10.6" % Test
без какого-либо успеха @Andrey да, я следовал конфигурации, описанной в документации Jetbrains
Ответ №1:
просто оставьте комментарий для тех, кто все еще борется, надеюсь, это поможет.
Я столкнулся с той же ошибкой, это вызвано тем, что я просто использую другую версию scala со specs2. я определяю двоичную версию scala как 2.12
, но импортирую скомпилированный 2.11
specs2.