Проблема Scalatest: value FunSuite не является членом org.scalatest

#scala #scalatest

#scala #scalatest

Вопрос:

Я пытаюсь написать тест для своего проекта на Scala 3. Я добавил библиотеку Scalatest как :

 libraryDependencies   = Seq( 
   ....
  "org.scalatest"           %% "scalatest"                  % "3.2.9"   % Test
)
 

Я знаю, что моя структура правильная:

введите описание изображения здесь

Но это выдает мне ошибку:

значение FunSuite не является членом org.scalatest — вы имели в виду scalatest.funsuite? введите описание изображения здесь

Однако я использовал то же самое в другом проекте, и он работает нормально.

Комментарии:

1. Я думаю, вам нужно импортировать org.scalatest.funsuite.AnyFunSuite и использовать его.

2. Спасибо, Джонни! Это работает. Но почему все примеры сайтов основаны org.scalatest.FunSuite

3. Понятия не имею. Но нажатие на первое упоминание FunSuite в разделе » Начало работы с FunSuite » приведет вас в scaladoc для AnyFunSuite . Но пример кода оттуда использует FunSuite.

4. Если вы ответите, я приму его.

5. Я предполагаю, что проблема связана с какой-то ошибкой в том, как они обновляют свою документацию. Может быть, вы могли бы поднять проблему в их репозитории Github?

Ответ №1:

Благодаря @Johney

Правильное использование, как показано ниже (по крайней мере, в scala 3.0.2):

 import org.scalatest.funsuite.*

class TestParser extends AnyFunSuite {
}
 

Конечно, учебные пособия, такие как Начало работы с FunSuite, основаны на использовании import org.scalatest.FunSuite , но здесь приведены правильные примеры, которые также упоминаются как первое упоминание FunSuite при начале работы с FunSuite.