Как вы тестируете Scala в Eclipse? - PullRequest
15 голосов
/ 06 июня 2010

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

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

Ответы [ 5 ]

7 голосов
/ 12 июля 2010

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

Эрик.

6 голосов
/ 06 июня 2010

Мне не удалось запустить спецификации ScalaTest с бегуном JUnit внутри затмения. Я думаю, что это из-за отсутствия @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>

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

5 голосов
/ 23 октября 2012

Просто чтобы держать ответы в актуальном состоянии: ScalaTest теперь поставляется с плагином eclipse , который должен обрабатывать текущие тесты из Eclipse "из коробки".

2 голосов
/ 09 июля 2010

Я провел последние несколько дней, пытаясь найти комбинацию модульных тестов, которые работают со 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

1 голос
/ 10 июня 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...