捕捉特拉维斯CI的真阴性

时间:2016-09-04 06:16:08

标签: travis-ci

On Travis CI我喜欢测试构建是否因预期的某些输入而失败,但仍希望整个作业成功。有没有办法实现这个目标?

最近我能想到的是allow_failures,但这还不够,因为如果成功,有问题的工作会通过,这意味着我的代码中存在错误。假阳性。我想检查真阴性。

感谢。

1 个答案:

答案 0 :(得分:1)

要确保当程序退出而不是0时,错误值(或返回值或退出值)为0,您可以执行以下两项操作之一:

您可以执行简单的操作,并在调用之前放置!,如下所示:

!test_that_should_fail

这将反转(作为一元! op)01以及任何非00,确保该命令如果成功就会失败。

您还可以执行if - 测试,详细说明here,如下所示:

# This will store $? and make the expression's exit value `0`
test_that_should_fail; ERR=$?
if [ "$ERR" = "1" ]; then echo "The test's failed as it should"; fi
if [ "$ERR" = "0" ]; then echo "The test ain't failed, unacceptable"; fi

但是,我宁愿让我的测试在内部处理“计划失败”。