ScalaTest и Maven: начало работы

У меня есть проект Maven/Java, над которым я работал много лет, и я хотел взять совету JavaPosse и начать писать тесты на Scala. Я написал несколько тестов после быстрого запуска ScalaTest JUnit4, и теперь я хочу, чтобы эти тесты выполнялись во время запуска «mvn test». Как мне это сделать? Что я должен поместить в свой pom.xml, чтобы тесты в src/test/scala могли выполняться бок о бок с моими старыми тестами JUnit4?

Ваше здоровье

Ник

PS, да, я гуглил, но все, что я мог найти по теме, было некоторыми предложениями до версии 1.0, которые я не получил.

PPS, дополнительный вопрос: как я могу запускать эти тесты по одному, щелкнув их правой кнопкой мыши в Eclipse/STS и сказав «Отладить как... ScalaTest» или что-то подобное там, где я до сих пор говорил «Отладить как.. .JUnit Test"?

PPPS, я полагаю, что ответ изменился с тех пор, как июль 2009?


person niklassaers    schedule 06.06.2011    source источник


Ответы (1)


Второй ответ на один из вопросов, на который вы ссылались, ДОЛЖЕН работать: Есть ли инструмент модульного тестирования Scala, который хорошо интегрируется с Maven?

Вы аннотируете свои тесты с помощью аннотации junit @RunWith и даете им scalatest http://www.artima.com/docs-scalest-2.0.RC3/#org.scalest.junit.JUnitRunner

Если ваши тесты также придерживаются каких-либо соглашений об именах, возможно, применяемых Maven, это должно работать нормально.

Примечание. Неважно, какой тип скалатеста вы используете. Все они должны работать. Если нет и Билл Веннерс не отвечает на этот вопрос, свяжитесь с ним через список рассылки ScalaTest.

Другое Примечание: такие наборы тестов можно запускать в Eclipse с помощью обычного подключаемого модуля JUnit. Но вы не можете запускать одиночные тесты, так как плагин ожидает вычитания имени метода из имени теста, что не работает со всеми типами тестов scalatest.

person Jens Schauder    schedule 06.06.2011
comment
Я следовал этим строкам, но для таких операторов, как import org.junit.runner.RunWith, я получил ошибку: значение junit не является членом пакета org. В ответе говорится: «Вскоре мы планируем официально развернуть его в репозитории Maven», поэтому я действительно не знаю, что там произошло, но я не смог найти ни одного примера проекта с pom.xml и несколькими тестами. классы, чтобы посмотреть - person niklassaers; 06.06.2011
comment
Похоже, у вас нет JUnit в вашем пути к классам. Добавьте его как (тестовую) зависимость, и все будет в порядке. - person Jens Schauder; 06.06.2011
comment
Я не мог поверить, когда понял это. Вы совершенно правы, мне не хватало JUnit. У меня всегда было это на моем пути к классу, но не в этот раз. Спасибо за объяснение :-) - person niklassaers; 08.06.2011
comment
Битые ссылки, устаревший ответ. - person Ricardo Gladwell; 02.11.2013