весенняя загрузка: как запустить тестовый класс только на jenkins? - PullRequest
0 голосов
/ 14 июня 2019

У нас есть тестовый класс, который я хотел бы запустить только на Дженкинсе.

Я думаю, что этого можно добиться, проверив профиль активной пружины (например, jenkins) или когда имя локальной машины равно XYZ.

Проблема в том, что загрузка контекста приложения завершается неудачно, когда мы пытаемся запустить его на машинах, отличных от jenkins.

Поэтому я не могу проверить профиль или параметр в методе @Before тестового класса как такового.

@RunWith(SpringRunner.class)
@SpringBootTest(classes = Config.class)
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@ActiveProfiles("clusterMongo")
public class MongoTest {


    @Before
    public void setupClass() {

        // Ignore test if not running on white listed machines
        org.junit.Assume.assumeTrue(AuthTools.isJenkins());   // wonT work !!

    }

...

Есть идеи, как мы можем этого достичь?

Могу ли я использовать условные бобы?

1 Ответ

1 голос
/ 14 июня 2019

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

Вы можете настроить плагин surefire для пропуска определенных тестов для определенного профиля Maven:

<profile>
<id>skip-test</id>
  <build>
    <plugins>
    <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                    <excludes>
                        <exclude>**/MongoTest.java</exclude>
                    </excludes>
            </configuration>
    </plugin>
</plugins>
</build>
</profile>

На не-Jenkinsпробег: mvn test -Pskip-test

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