Ответ 1
У меня была та же проблема, что и в IntelliJ, следуя этим шагам, чтобы отменить кеш/перезапуск. Это решит проблему.
Использование ScalaTest 3.0.0 Окружающая среда: Scala 2.11.8, sbt 0.13.5, IntelliJ 14.1.4
build.sbt имеет только
// NOTE: not using org.scalactic
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" % "test"
Прошел тест ниже. Однако IntelliJ отмечает красноватую линию ниже MyMiniTest с предупреждающим сообщением:
Класс 'MyMiniTest' должен быть объявлен как абстрактный или реализованный абстрактный член 'convertToLegacyEqualizer [T] (слева: T): TripleEqualsSupport.this.LegacyEqualizer [T] 'в 'Org.scalactic.TripleEqualsSupport'
import org.scalatest.FeatureSpec
class MyMiniTest extends FeatureSpec {
scenario("A simple test") {
val a = 12
assert(a * 3 == 36)
}
}
В чем причина этого предупреждения и какое рекомендуемое решение для его устранения?
У меня была та же проблема, что и в IntelliJ, следуя этим шагам, чтобы отменить кеш/перезапуск. Это решит проблему.
В моем случае это была транзитивная зависимость (не знаю, как могла выглядеть тестовая библиотека) другой версии, конфликтующей с зависимостью, определенной в моем проекте. SBT знает, как справиться с большинством из этих случаев, IntelliJ, похоже, не знает. Обратите внимание, что аннулирование кэша и перезапуск IntelliJ в этом случае не помогут.
Чтобы убедиться в этом, проверьте следующее: Файл → Структура проекта → [Настройки проекта - Библиотеки]. Ищите org.scalatest:*
, и вы, вероятно, найдете две библиотеки, например:
Затем удалите ненужный, выбрав его и нажав -
в верхней части панели. Вот и все, IntelliJ теперь будет счастлив.
Более чистым решением было бы исключить ненужную библиотеку из ваших зависимостей, например:
ExclusionRule("org.scalatest", "scalatest_2.11-2.2.4")
IntelliJ покажет библиотеку среди зависимостей проекта, но будет знать, что она должна быть принята.
Пожалуйста, проверьте все ваши зависимости и проверьте, загружается ли какая-либо из этих зависимостей org.scalatest.*
. Если версия org.scalatest.*
, которую вы определили, отличается от той, которая загружается из-за других определенных зависимостей, эта проблема возникает.
Я использовал org.mockito%mockito-scala
, который нуждался в самой лучшей версии 3.0.8. Но самое большое, что я определил, было 2.2.5. Изменив версию scalatest на 3.0.8, я смог решить эту проблему.
Надеюсь это поможет.