Tycho: Как предотвратить развертывание в случае неудачных тестов JUnit? - PullRequest
1 голос
/ 31 августа 2011

Я получил eclipse-plugin с некоторыми юнит-тестами.
В maven я держал юнит-тесты в том же комплекте и указал junit как тестовую зависимость в pom.xml.
Теперь я хочу переключиться на tychoи я прочитал, что Tycho ищет пакет с тем же именем плюс постфикс ".tests", который будет выполнен.Но я хотел бы сохранить свои модульные тесты в тестируемом комплекте, чтобы при сбое любого теста сборка пакета не удалась.В противном случае maven может установить / развернуть артефакты, если модульные тесты не были успешно завершены.

Есть ли способ сохранить модульные тесты в одном и том же комплекте, используя tycho?
Как вы управляете модульными тестамиTycho builds?

Обновление: Хорошо Теперь у меня есть два отдельных комплекта eclipse-plugin и eclipse-test-plugin.Тихо собирает их обоих в одном реакторе, но мой eclipse-plugin развернут, хотя юнит-тесты провалились.Теперь в моем репозитории Nexus есть сломанный артефакт ...
Есть ли способ принудительно вызвать сбой сборки, когда модульные тесты не были успешно завершены?

Ответы [ 3 ]

1 голос
/ 22 января 2016

Я знаю, что эта тема старая, но я нашел такое простое решение.Вы можете настроить, чтобы артефакты были развернуты в конце сборки.

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <version>2.8.2</version>
            <configuration>
                <deployAtEnd>true</deployAtEnd>
            </configuration>
        </plugin>

Если вы не игнорируете сбои в своем тесте, и если некоторые из них появляются при сбое сборки, артефакты не будут развернуты.

1 голос
/ 31 августа 2011

модульные тесты не могут храниться в одном и том же пакете, потому что tycho использует подход MANIFEST-первых к зависимостям.

Вы бы загрязнили свой производительный комплект зависимостями в тестовой области, такими как junit, если бы вы сохранили тесты ипроизводительный код в том же пакете.

В отличие от maven, OSGi не имеет атрибута "scope" для зависимостей.

0 голосов
/ 28 августа 2012

На самом деле это ограничение в Tycho: вы не можете иметь тесты и производительный код в одном модуле, поэтому если вы вызываете mvn clean deploy, продуктивный артефакт развертывается до выполнения соответствующих тестов.

Чтобы выполнить развертывание только после успешного выполнения теста, существует простой обходной путь : сначала запустите все тесты с mvn clean verify, и только в случае успеха запустите сборку с mvn clean deploy снова. (Если у вас нестабильные тесты, вы можете даже отключить выполнение теста с помощью -DskipTests во втором вызове, чтобы быть уверенным, что вы не получите частичное развертывание.)

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