尽管-DskipIT

时间:2017-08-24 06:55:59

标签: jenkins maven-failsafe-plugin

我有一个maven多模块项目和一个模块我对本地数据库使用集成测试。我们使用 Jenkins ,当然,由于所需的数据库,我不希望IT在Jenkins上运行。我找到了使用 maven-failsafe 和选项" -DskipITs "的解决方案。工作就像一个魅力,我可以提交IT,而不必担心詹金斯抱怨执行IT。但后来我为我的所有IT人员创建了一个测试套件,以便将它们全部运行在一起:

package mypackage;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)

@Suite.SuiteClasses({
    AccountManagerImportServiceIT.class,
    AccountManagerToClientImportServiceIT.class,
    ClientImportServiceIT.class,
    ContactPersonImportServiceIT.class,
    InvoiceImportServiceIT.class,
    MeteringPointImportServiceIT.class,
    MeteringPointToRoleImportServiceIT.class,
    RoleImportServiceIT.class,
    WhitelistImportServiceIT.class
})

public class TestSuiteIT {
}

现在似乎Jenkins忽略了TestSuite的故障保护并尝试执行它,这当然会使构建不稳定。我不知道该怎么做才能告诉Jenkins也忽略了TestSuite!奇怪的是:如果我做了一个" mvn clean install -DskipITs" (在本地系统上执行相同的命令Jenkins),它可以工作。但Jenkins总是试图执行TestSuite。 : - (

1 个答案:

答案 0 :(得分:0)

您可以将<skipTests>false</skipTests>添加到properties的{​​{1}}部分。

然后在pom.xml部分找到plugins并使用maven-failsafe-plugin配置。

skipTests

默认情况下,将启用测试。如果您想跳过teststhen使用<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>x.xx</version> <configuration> <skipITs>${skipTests}</skipITs> </configuration> </plugin>