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