Существует ли JUnit TestRunner для рабочих групп тестов?

Поскольку с числами с плавающей запятой важна точность, так как нет точного диапазона .

/**
 * A constant holding the smallest positive nonzero value of type
 * <code>double</code>, 2<sup>-1074</sup>. It is equal to the
 * hexadecimal floating-point literal
 * <code>0x0.0000000000001P-1022</code> and also equal to
 * <code>Double.longBitsToDouble(0x1L)</code>.
 */

Но я согласен, что, вероятно, это было бы названо чем-то лучше :) [/ д2]

14
задан Mihai Limbășan 18 October 2008 в 20:44
поделиться

9 ответов

Проверьте Spring SpringJUnit4ClassRunner. Я использовал его для дополнительного запущения тестов на основе свойства System, с помощью аннотация IfProfileValue .

Это:

@IfProfileValue(name="test-groups", values={"unit-tests", "integration-tests"})
  public void testWhichRunsForUnitOrIntegrationTestGroups() {
      // ...
 }

будет работать, если свойство System 'тестовые группы' будет установлено или на или на 'интеграционные тесты' 'модульных тестов'.

Обновление: JUnitExt имеет @Category и @Prerequisite аннотации и похож на него, должен сделать то, в чем Вы нуждаетесь. Однако я никогда не использовал его сам, таким образом, я не могу ручаться за него.

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

Можно создать комплекты, хотя это помещает всю конфигурацию в комплект, а не в аннотации.

0
ответ дан 1 December 2019 в 12:54
поделиться

Нет, нет никакого подобного понятия группам TestNG, к сожалению. Это было запланировано JUnit4, но по некоторой неясной причине, это было отброшено от планирования.

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

JUnit 3 позволяет Вам создавать наборы тестов, которые могут быть выполнены как любой другой тест. Разве JUnit 4 не имеет подобного понятия?

0
ответ дан 1 December 2019 в 12:54
поделиться

При использовании МУРАВЬЯ или знатока можно управлять, какие тесты запущены путем фильтрации тестов по имени. Немного неловкий, но это могло бы работать на Вас.

0
ответ дан 1 December 2019 в 12:54
поделиться

JUnit не имеет такого бегуна в данный момент. Решение базовой проблемы, потребность получить разумное обеспечение от набора тестов за ограниченное количество времени, является нашим самым высоким приоритетом разработки для следующего выпуска. Тем временем реализация Фильтра, который работает через аннотации, кажется, что это не был бы большой проект, хотя я смещаюсь.

11
ответ дан 1 December 2019 в 12:54
поделиться

Во-первых, Вы решаете две проблемы - модульные тесты (часто в том же пакете как единица под тестом) и интеграционные тесты. Я обычно сохраняю свои интеграционные тесты в отдельном пакете, чем-то как com.example.project.tests. В затмении мои проекты похожи:

project/
  src/
    com.example.project/
  tsrc/
    com.example.project/
    com.example.project.tests/

Щелчок правой кнопкой по пакету и выбор 'выполнения' запускают тесты в пакете; выполнение того же на исходной папке запускает все тесты.

можно достигнуть подобного эффекта, хотя Вы выразили незаинтересованность в нем, при помощи бегун Комплекта . Однако это нарушает DRY - необходимо усовершенствовать копии тестовых имен в классах комплекта. Однако можно легко поместить тот же тест в несколько комплектов.

@RunWith(Suite.class)
@Suite.SuiteClasses( { 
    TestAlpha.class, 
    TestBeta.class })
public class GreekLetterUnitTests {
}

, Конечно, я действительно должен сохранять эти вещи автоматизированными. Хороший метод для того, чтобы сделать, который должен использовать задача Ant .

<target name="tests.unit">
  <junit>
    <batchtest>
      <fileset dir="tsrc">
        <include name="**/Test*.java"/>
        <exclude name="**/tests/*.java"/>
      </fileset>
    </batchtest>
  </junit>
</target>
<target name="tests.integration">
  <junit>
    <batchtest>
      <fileset dir="tsrc">
        <include name="**/tests/Test*.java"/>
      </fileset>
    </batchtest>
  </junit>
</target>
3
ответ дан 1 December 2019 в 12:54
поделиться

мой совет является просто канавой JUnit и использование TestNG. После того как Вы привыкаете к TestNG, Junit похож на Каменный век.

0
ответ дан 1 December 2019 в 12:54
поделиться

TestNG имеет мой голос. Это - базирующаяся аннотация, может работать как Группы, единственные Тесты, и т.д., могут быть связаны в Знатока и могут запустить все тесты JUnit как часть, он - тестовые прогоны.

я настоятельно рекомендую его по JUnit.

0
ответ дан 1 December 2019 в 12:54
поделиться
Другие вопросы по тегам:

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