跳过已知测试失败(logKnownIssue,以前叫定时炸弹)

如果您需要暂时禁用测试,请调用“logKnownIssue”。该方法定义如下:

/**

*记录已知问题。

*除非指定-prop:logKnownIssue=no,否则此方法返回true

*在参数列表中。

*

*@param ticket票据编号字符串。对于ICU票据,仅使用数字字符,

*如“10245”。对于CLDR票证,使用前缀“cldrbug:”,后跟票证号,

*例如“cldrbug:5013”。

*@param comment附加注释或null

*@return true,除非在测试命令行参数中指定了-prop:logKnownIssue=no。

*/

public boolean logKnownIssue(字符串票证,字符串注释)

下面是一个示例:

if(logKnownIssue(“1234”,“新数据尚未集成。”){

回报;

}

//下面的测试代码

默认情况下,logKnownIssue返回true并发出一个日志行,其中包括票据和注释的链接。

当将“-prop:logKnownIssue=no”指定为命令行参数时,logKnown Issue()返回false,因此您可以临时启用logKnowlIssue跳过的测试代码。

在ICU4J 52之前,我们通常使用isICUVersionBefore()方法,如下所示。测试方法在主干中仍然可用,但建议开发人员改用logKnownIssue()。

if(isICUVersionBefore(50,0,2)){

回报;

}

在ICU4J 49M2之前,我们使用以下样式-

if(重症监护室(4、5、2)前skipIfBeforeICU){

回报;

}