Как делают Вас модульный тест Scala в Eclipse?

Я изучаю Scala и хотел бы настроить интегрированное поблочное тестирование в Eclipse. Насколько я могу сказать от поиска с помощью Google, ScalaTest является способом пойти, возможно в сочетании с JUnit.

Каков Ваш опыт с поблочным тестированием Scala в Eclipse? Я должен использовать бегуна JUnit или что-то еще?

15
задан Jørgen Fogh 6 June 2010 в 12:41
поделиться

4 ответа

Мне не удалось запустить спецификацию 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>

Посмотрите эти примеры для справки.

6
ответ дан 1 December 2019 в 03:34
поделиться

Я также не смог запустить модульные тесты из Eclipse (по общему признанию, я не слишком старался), но если вы хотите взглянуть на IntelliJ, ScalaTest работает в среде IDE без проблем.

1
ответ дан 1 December 2019 в 03:34
поделиться

Я провел последние несколько дней, пытаясь найти комбинацию юнит-тестов, которые работают со 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 и затем нажмите на classes (или bin, куда бы вы ни компилировали свои файлы классов).

Это прекрасно работает в Eclipse, если щелкнуть правой кнопкой мыши на AllTests.java и выбрать RunAs->Junit

2
ответ дан 1 December 2019 в 03:34
поделиться

На веб-сайте ScalaIDE есть вики-страница, посвященная запуску модульных тестов Scala в Eclipse . Если у вас есть особые проблемы с запуском модульных тестов specs, я рекомендую вам публиковать сообщения в списке рассылки specs-users .

Эрик.

7
ответ дан 1 December 2019 в 03:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: