如何在junit 4和junit 5的测试套件失败的情况下强制gradle继续构建

如何在junit 4和junit 5的测试套件失败的情况下强制gradle继续构建,gradle,junit,junit4,junit5,Gradle,Junit,Junit4,Junit5,我有一个项目,测试由JUnit4和JUnit5实现。有些测试需要一个数据库,我有没有办法标记这些特定的测试(TestSuite就是答案?),所以gradle即使这些测试失败也会继续构建 我不想跳过其他测试,只想跳过这些特定的测试 我使用的是junit 5 vintage,所以我的测试任务同时运行junit 4和junit 5测试。老实说,我不会这么做。如果在测试失败时忽略它,那么测试的意义何在?您不妨立即删除该测试。如果安装程序很慢,您不能延迟测试执行吗 也就是说 gradle--continu

我有一个项目,测试由JUnit4和JUnit5实现。有些测试需要一个数据库,我有没有办法标记这些特定的测试(TestSuite就是答案?),所以gradle即使这些测试失败也会继续构建

我不想跳过其他测试,只想跳过这些特定的测试


我使用的是junit 5 vintage,所以我的测试任务同时运行junit 4和junit 5测试。

老实说,我不会这么做。如果在测试失败时忽略它,那么测试的意义何在?您不妨立即删除该测试。如果安装程序很慢,您不能延迟测试执行吗

也就是说

gradle--continue
将在任务失败时收集所有错误。您可能仍然需要忽略Gradle的退出代码(例如,在构建管道中)

您还可以使用test属性始终忽略失败的测试

两者都可能有点过于宽泛。根据构建脚本的不同,您可以为数据库测试添加一个单独的测试目标,并仅向其中添加
ignoreFailures

如果您想在JUnit中处理此问题,您可以研究在给定(或未给定)特定条件时,哪些选项允许您跳过测试:

import static org.junit.aspect.*;
公共类数据库测试{
@试验
公之于众{
assumeTrue(Database.isAvailable());
//实际测试在这里进行
}
}

我在两个站点上运行测试。。。一个有神谕,一个没有神谕。。。我用H2数据库测试其他场景。。。但是有一些特定的Oracle测试。。。