IntelliJ в Scala с просьбой реализовать абстрактные члены в классе, наследующем от конкретного класса - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь реализовать тесты с использованием скалатеса 3.0.5. Я создал свой абстрактный класс, определяющий мои настройки и мой первый конкретный тестовый класс, как предложено на официальном сайте .

abstract class TestSpec extends FunSuite

class MyFirstTest extends TestSpec {

    test("This is a test") {assert(1 == 1)}

}

Но тогда Intellij показывает следующую ошибку:

MyFirstTest должен быть объявлен как абстрактный или реализовать абстрактный член 'getTestNameForReport (s: String): String' in 'org.scalatest.Suite'

После прочтения исходного кода FunSuite является конкретным классом .

Я попытался изменить самую масштабную версию на 2.2.6, но возникает та же проблема. Я пытался реализовать абстрактные члены, но IntelliJ просит переопределить некоторые методы, такие как execute, так что это не очень хорошая идея.

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

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

В итоге я решил свою проблему, удалив свой проект и создав новый из этого архетипа с помощью maven. Я думаю, что моя проблема была в том, что я как-то испортил свой пом.

Если вы столкнулись с подобной проблемой, вот несколько возможных исправлений (спасибо @Argurth):

  • аннулировать кэш / перезапустить после этих шагов ( ссылка на похожую проблему )
  • проверьте, правильно ли установлен JDK в IntelliJ, следуя шагам , связанным здесь (см. Комментарии в первом ответе).
  • Установите maven's JDK на свой JAVA_HOME. (Смотрите скриншот ниже, его можно получить в IntelliJ с помощью File> Setting)

Maven JDK setting

0 голосов
/ 31 октября 2018

Если все собрано идеально и вы можете запускать тесты вне IntelliJ, это может быть просто проблемой IDE.

Попробуйте выполнить эти шаги , чтобы аннулировать кэш / перезапустить и сказать мне, если это решит вашу проблему.

...