处理片状测试的方法之一是暂时对测试进行检疫 --将它们与其他片状测试一起转移到一个特殊的“桶”中:
我提供了一个基本的建议:隔离你的非确定性测试。如果您有非确定性测试,则将它们保存在与您的健康测试不同的测试套件中。这样,你就可以继续关注你的健康测试所发生的事情,并从他们那里得到良好的反馈。
我们使用Protractor/WebDriverJS,测试用Jasmine编写,使用Jenkins/Git进行构建和测试。
理想情况下,此桶需要具有以下属性:
当前的想法:
flaky测试suitepending jasmine关键字使这些测试“挂起”我不知道如何强制执行上面列出的属性。
发布于 2017-08-04 17:38:39
我对Jasmine还不太熟悉,无法给出一个有能力的答案,说明如何用它们来解决这个问题,但是这里有一个外部选项:
通过测试文件向grep编写一个shell脚本,如果有太多的测试被指定为“碎片”,或者它们中的任何一个被标记为这样的时间太长,那么Jenkins构建就失败了。如果没有为您提供足够的关键字/特性来合并脚本所需的所有元数据,只需向每个“碎片”测试添加带有必要元数据的注释即可。就这一点而言,除非您实际运行的是片状测试,否则可能没有理由为它们创建一个单独的测试套件。元数据注释、您提到的pending关键字以及脚本可能都是您所需要的。
https://sqa.stackexchange.com/questions/28241
复制相似问题