Как я могу запустить все модульные тесты JUnit, кроме тех, которые заканчиваются на «IntegrationTest» в моем проекте IntelliJ IDEA, с использованием встроенного средства запуска тестов?

Я в основном хочу запустить все JUnitединица измерения тесты в моем проекте IntelliJ IDEA (исключая интеграционные тесты JUnit) с использованием метода static suite () из JUnit. Зачем использовать метод static suite ()? Потому что тогда я могу использовать IntelliJ IDEA 's JUnit Test Runner для запуска всех модульных тестов в моем приложении (и легко исключает все интеграционные тесты в соответствии с соглашением об именах). Код до сих пор выглядит так:

package com.acme;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class AllUnitTests extends TestCase {

    public static Test suite() {
        List classes = getUnitTestClasses();
        return createTestSuite(classes);
    }

    private static List getUnitTestClasses() {
        List classes = new ArrayList();
        classes.add(CalculatorTest.class);
        return classes;
    }

    private static TestSuite createTestSuite(List allClasses) {
        TestSuite suite = new TestSuite("All Unit Tests");
        for (Iterator i = allClasses.iterator(); i.hasNext();) {
            suite.addTestSuite((Class) i.next());
        }
        return suite;
    }

}

Метод getUnitTestClasses () должен быть переписан для добавления всех классов проекта, расширяющих TestCase, за исключением случаев, когда имя класса заканчивается на "IntegrationTest».

Я знаю, что я могу легко сделать это, например, в Maven, но мне нужно сделать это в IntelliJ IDEA, чтобы я мог использовать встроенный тестовый бегун - мне нравится зеленая полоса :)

Ответы на вопрос(5)

Ваш ответ на вопрос