Почему я получаю эту ошибку при запуске тестов Scala 2.13 в IntelliJ, а не в Scala 2.12? - PullRequest
11 голосов
/ 18 июня 2019

При попытке запустить тесты в IntelliJ (2019.1), плагине Scala IntelliJ v2019.1.8, в Scala 2.13 появляется следующее сообщение об ошибке:

Exception in thread "ScalaTest-dispatcher" java.lang.NoSuchMethodError: scala.collection.JavaConverters.seqAsJavaListConverter(Lscala/collection/Seq;)Lscala/collection/convert/Decorators$AsJava;
    at org.jetbrains.plugins.scala.testingSupport.scalaTest.treeBuilder.ParallelTreeBuilder.getOrdinalList(ParallelTreeBuilder.java:21)
    at org.jetbrains.plugins.scala.testingSupport.scalaTest.treeBuilder.ParallelTreeBuilder$SuiteTree.<init>(ParallelTreeBuilder.java:92)
    at org.jetbrains.plugins.scala.testingSupport.scalaTest.treeBuilder.ParallelTreeBuilder.initRun(ParallelTreeBuilder.java:261)
    at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestReporterWithLocation.apply(ScalaTestReporterWithLocation.java:59)
    at org.scalatest.DispatchReporter$Propagator.$anonfun$run$10(DispatchReporter.scala:249)
    at org.scalatest.DispatchReporter$Propagator.$anonfun$run$10$adapted(DispatchReporter.scala:248)
    at scala.collection.immutable.List.foreach(List.scala:312)
    at org.scalatest.DispatchReporter$Propagator.run(DispatchReporter.scala:248)
    at java.lang.Thread.run(Thread.java:745)

Ниже приведены мои зависимости Gradle:

dependencies {
    implementation 'org.scala-lang:scala-library:2.13.0'

    testImplementation 'org.scalatic:scalatic_2.13:3.0.8'
    testImplementation 'org.scalatest:scalatest_2.13:3.0.8'
}

Когда я изменяю зависимости на Scala 2.12.x, тесты в IntelliJ выполняются правильно, без ошибок. Что здесь происходит?

1 Ответ

9 голосов
/ 18 июня 2019

Обновление: это было исправлено в версии плагина 2019.1.9.


Возможно, плагин IntelliJ Scala необходимо обновить до версии 2.13.Тем временем попробуйте обходной путь, установив флажки Use sbt и Use UI with sbt при проверке Edit configuration....По словам Дмитрий Науменко :

Это исправлено в

  • 2019.1 EAP # 2019.1.8.21
  • 2019.2 Nightly
  • Скоро будет доступен в 2019.2 EAP и 2019.1 новой версии

Что касается Gradle, попробуйте настроить делегирование на Gradle Test Runner

  1. Удалить существующие бегуны ScalaTest
  2. Перейти к Build, Execution, Deployment | Build Tools | Gradle | Runner
  3. Установите флажок Delegate IDE build/run actions to Gradle
  4. Выберите Gradle Test Runner
...