2013-07-15 2 views
7

У меня возникли проблемы с запуском тестового теста Groovy JUnit Parameterized (см. Ниже описание тестового кода и информации о состоянии).Параметрированные тестовые тесты Groovy JUnit в Eclipse

Симптомы

  • правой кнопкой мыши на классе в проводнике пакетов и делает Run As -> JUnit Test Case просто вызывает диалог не требуя "Нет JUnit тестов найдено".
  • Щелкните правой кнопкой мыши по проекту и сделайте Запуск As -> JUnit Test Case выполняет все тестовые тесты кроме параметризованный Groovy.

Вещи я пытался

  1. Обеспечение "нормальный" Groovy JUnit тест-случай бежит. Это работает.
  2. Обеспечение параметризованных тестовых сценариев Java. Это работает.
  3. Вручную создайте конфигурацию запуска JUnit для этого тестового случая. Это работает.

Так

Так что я неудобный обходной путь (3). Но это не масштабируется, так как этот тестовый сценарий по-прежнему не будет включен, когда я запускаю все тестовые примеры в проекте.

Любые идеи, как я могу получить плагин Eclipse/Groovy/JUnit, чтобы автоматически распознать свой тестовый файл?


испытаний случае код

import org.junit.Test 
import org.junit.runner.RunWith 
import org.junit.runners.Parameterized 
import org.junit.runners.Parameterized.Parameters 

@RunWith(Parameterized) 
public class TestParams { 
    final int a 

    public TestParams(int a) { this.a = a } 

    @Parameters 
    public static Collection<Object[]> data() { 
     def cases = new Object[2][1] 
     cases[0][0] = 3 
     cases[1][0] = 4 
     Arrays.asList(cases) 
    } 

    @Test public void test() { println "a = $a" } 
} 

Environment

  • Затмение Juno Service Release 2 (OSX)
  • Groovy-Eclipse, 2.8.0
  • JUnit 4.10.0

+0

Хммм ... Я бегу в Kepler с Groovy-Eclipse 2.8.0 и 2.1.5 компилятором. Это работает для меня. У вас есть ошибки в вашем журнале ошибок? Поддерживает ли контент-помощь/навигация внутри вашего класса? –

+0

@AndrewEisenberg: Content-assist работает нормально, и никаких ошибок не сообщалось (как я уже сказал, это нормально работает с явной конфигурацией запуска). Мне еще предстоит изучить Kepler (сбой среды IDE сразу на моем OSX). Тем не менее, мой общий опыт плагина Groovy-Eclipse (до сих пор) заключается в том, что это ** крайне ** темпераментно и багги, так что, возможно, мне просто не повезло! –

ответ

1

этот код работает на моем Джуно Эклипс, JUnit 4.10 и заводной 2.0.6. я начал с вашего кода, но мне пришлось обманывать импорт, поскольку некоторые из аннотаций были красными. Мне также пришлось добавить параметр .class в параметризованный.

import org.junit.Test 
import org.junit.runner.RunWith 
import org.junit.runners.Parameterized 
import org.junit.runners.Parameterized.Parameters 
@RunWith(Parameterized.class) public class TestParams { 
    final int a 

    public TestParams(int a) { this.a = a } 

    @Parameters 
    public static Collection<Object[]> data() { 
     def cases = new Object[2][1] 
     cases[0][0] = 3 
     cases[1][0] = 4 
     Arrays.asList(cases) 
    } 

    @Test public void test() { println "a = $a" } 
} 
+0

К сожалению, это тоже не работает для меня, хотя я не пробовал вернуться к Groovy-Eclipse 2.0.6 (я постараюсь это завтра ...) Итак, если вы измените параметр Parameterized.class на 'Parameterized ', он больше не работает для вас? –

+0

oop, если я удаляю .class, он все равно работает. жаль насчет путаницы. –

Смежные вопросы