Ответ 1
Просто для того, чтобы обновить ответы: ScalaTest теперь поставляется с плагином eclipse, который должен обрабатывать текущие тесты из Eclipse out-of- вне коробки.
Я изучаю Scala и хотел бы настроить интегрированное модульное тестирование в Eclipse. Насколько я могу судить по googling, ScalaTest - это путь, возможно, в сочетании с JUnit.
Каковы ваши опыты с модульным тестированием Scala в Eclipse? Должен ли я использовать бегун JUnit или что-то еще?
Просто для того, чтобы обновить ответы: ScalaTest теперь поставляется с плагином eclipse, который должен обрабатывать текущие тесты из Eclipse out-of- вне коробки.
На веб-сайте ScalaIDE есть страница wiki как запускать модульные тесты Scala в Eclipse. Если у вас есть конкретные проблемы с тестированием модульных тестов, я рекомендую вам размещать сообщения в списке рассылки specs-users.
Эрик.
Мне не удалось запустить спецификации ScalaTest с помощью JUnit runner внутри eclipse. Я думаю, это связано с отсутствием аннотированных методов @Test
. Однако, если ваш проект поддерживает Maven, вы можете запускать свои спецификации из командной строки с помощью mvn test
. Для плагина Surefire для определения ваших спецификаций используйте следующую конфигурацию в вашем файле pom.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<includes>
<include>**/*Spec.class</include>
</includes>
</configuration>
</plugin>
Отметьте этот пример для справки.
Я провел последние несколько дней, пытаясь найти комбинацию модульных тестов, которые работают с scala для моего проекта, и это то, что я нашел.
Я использую кандидаты на выпуск для scala 2.8, потому что он исправляет ряд ошибок, которые блокировали меня в 2.7.2. Сначала я пытался заставить Scalatest работать с 2.8, но не смог найти стабильное решение, в будущем это может быть лучшим способом, но в настоящее время, похоже, слишком много происходит вокруг выпуска 2.8.
Конфигурация, с которой я работаю, заключается в использовании аннотаций JUnit4 в тестовом коде scala, например:
import org.junit._ import Assert._ class TestSuite{ @Test def testSimple(){ asserEquals("Equal",1,1) } }
Затем я использую набор java JUnit для запуска всех моих тестов вместе:
import junit.framework.Test; import junit.framework.TestSuite; import org.junit.runner.RunWith; import org.junit.runners.Suite; @RunWith(Suite.class) @Suite.SuiteClasses( { TestSuite.class }) public class AllTests { public static Test suite() { TestSuite suite = new TestSuite("Test Suite"); return suite; } }
Единственный дополнительный трюк заключается в том, чтобы добавить выходной каталог в качестве исходного каталога в Eclipse, чтобы бегун JUnit мог найти ваши файлы классов. Это немного взломать, но, похоже, это работает.
Project- > Properties- > Java Build Path- > Source- > Add Folder и затем щелкните классы (или bin, где бы вы не компилировали ваши файлы классов).
Это отлично работает в Eclipse, щелкнув правой кнопкой мыши по AllTests.java и выбрав RunAs- > Junit
Я не смог получить модульные тесты, запущенные из Eclipse (по общему признанию, я не слишком старался), но если вы хотите взглянуть на IntelliJ ScalaTest, работайте в среде IDE без проблем.