Обновление до JUnit4 и сохранение устаревших тестов JUnit 3 и наборов тестов путем их совместной работы

Я был удивлен, что не нашел ответа до сих пор. Если мне не хватает чего-то основного, я буду более чем счастлив узнать об этом.

Существует большая база устаревших кодов, которая была обновлена ​​до Java 6 (от 1.4). Большое количество тестов JUnit 3 присутствует в коде и организовано в тестовый набор, который успешно работает с JUnit 4 по умолчанию в Eclipse.

Теперь я добавляю новые тесты, которые являются чистыми тестами JUnit 4 (аннотации, без TestCase и т.д.). Каким будет совместное использование старого тестового пакета JUnit 3 и новых тестов JUnit 4?

Ответ 1

Просто используйте тестовый бегун "JUnit4" в вашей конфигурации запуска.

У двоичных файлов JUnit4 есть уровень обратной совместимости, который позволяет ему иметь классы стиля JUnit3 и JUnit4 в одном наборе тестов.

Для построения командной строки просто используйте JUnit4 jars вместо JUnit3.

Это было сделано специально для облегчения миграции, которую вы сейчас делаете.

Кроме того, он отлично работает в моем проекте.

Ответ 2

@RunWith (Suite.class) дает мне возможность объединить как тесты JUnit 4, так и JUnit 3 вместе с тестовыми примерами:

@RunWith(Suite.class)
@Suite.SuiteClasses({
    ExampleOfJunit3TestSuite.class, 
    ExampleOfJUnit3TestCase.class, 
    ExampleOfJUnit4TestSuite.class,
    ExampleOfJUnit4TestCase.class})   
public class BothJUnit4and3TestSuite {
}

BothJUnit4and3TestSuite запускает все тесты и комплекты тестов, перечисленные в @Suite.SuiteClasses.