首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非故障的TestNG故障

非故障的TestNG故障
EN

Stack Overflow用户
提问于 2014-05-21 05:05:38
回答 3查看 159关注 0票数 0

我将通过TestNG执行的复杂UI测试框架添加到我们不拥有的大型企业应用程序中(我们是用户)。

测试框架解析来自适合使用查询生成器进行测试的系统中的数据;有时该数据已过时,并引发预期的异常。这些异常意味着测试无法完成,但并没有真正失败。

我正在寻找一种方法来中止这个单独的测试,而不是失败。测试在每个构建中执行大约6次(有一些微小的更改),所以我不担心每个构建是否有1-2次的中止,但是需要对当前标记为失败的中止保持沉默;除了导致它们通过之外,还有其他选择吗?这似乎是一个糟糕的选择吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-05-21 06:37:38

另外两个选项:)这些将有助于将测试标记为跳过,而不是失败或通过

  1. 捕获您期望的异常,并从@Test方法或
  2. 实现IInvokedMethodListener,并在afterInvocation方法中执行以下操作 公开无效afterInvocation(IInvokedMethod方法,ITestResult testResult) { if(testResult.getThrowable().getClass().equals(YourExceptionClass.class)) testResult.setStatus(TestResult.SKIP); }
票数 1
EN

Stack Overflow用户

发布于 2014-05-21 05:14:02

当然了。您可以选择跳过失败的测试,或者正确地忽略它们。

为此,您需要一个实现IMethodInterceptor的类。

由于明显的原因,我无法粘贴我使用的任何代码,但是在这里查看如何使用IMethodInterceptor:https://gist.github.com/krmahadevan/5028960的示例

您没有提到您的问题,但是如果您正在使用Jenkins,那么您可以将参数传递给构建,然后可以使用这些参数来筛选您试图跳过/忽略的测试。

票数 0
EN

Stack Overflow用户

发布于 2014-05-21 05:40:58

使用“尝试-捕获”来处理测试类中可接受的异常。如果捕捉到异常,并且没有任何失败的断言,则测试将通过。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23774353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档