Как импортировать тесты JUnit из одного проекта Maven в другой? - PullRequest
0 голосов
/ 09 января 2020

У меня есть два проекта Eclipse A и B, которые я использую для запуска тестов Selenium с JUnit.

  • Project A тестирует веб-приложение, поэтому оно содержит тесты, которые разделены на несколько пакетов, каждый со своими собственный класс набора тестов (один пакет для каждой функции).
  • Проект B тестирует приложение, которое использует веб-приложение A, но добавляет новые функции, поэтому оно содержит свои собственные тесты, но также должно иметь возможность повторно использовать тесты из A в свой собственный набор тестов, когда функции используются повторно.

В обоих проектах мой тестовый код находится в src/test/java, потому что мне нужно иметь возможность тестировать оба по отдельности.

Проблема в том, что я не могу повторно использовать тесты из A в B, потому что не могу импортировать тестовые пакеты из A. Я попытался исправить это, поместив пакеты A в папку src/main/java, но это означает, что я больше не могу запускать наборы тестов A отдельно, потому что у него больше нет никаких тестов, о которых можно говорить.

То, что я хочу сделать, - это просто иметь тесты в моем Проекте А, которые я могу выполнить, но иметь возможность повторно использовать эти классы тестов в Проекте Б без дублирования кода. Как я могу это сделать?

1 Ответ

2 голосов
/ 09 января 2020

Вы можете упаковать свой тестовый код в собственный артефакт

 <!-- Packaging of test classes in JAR file -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>test-jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

Затем вы можете импортировать зависимость там, где вам это нужно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...