【问题标题】:Testcase not failing even if it has actually failed测试用例没有失败,即使它实际上已经失败了
【发布时间】:2013-10-03 06:48:15
【问题描述】:

我使用 TestNG 及其 dataProvider 机制来运行测试用例。我并行运行 TC。我有一个 Test 方法,该方法使用反射调用在其他类中定义的实际测试用例逻辑。

在另一个类中编写的测试用例逻辑在其方法上没有任何@Test 注解。

现在,每当任何测试用例抛出任何异常时,我都会捕获异常,然后

Assert.fail();

但在 testNG 报告中,即使在某些 TC 失败后,它也会显示 failed=0。

为什么 TC 没有失败??

请帮忙。

【问题讨论】:

  • 您必须至少发布一个代码示例,以便我们审核代码以帮助您找到问题;仅通过描述无法帮助您诊断问题。您可以尝试发布一两个测试用例和足够的测试方法来提供上下文吗?
  • 您能否检查并确保 Assert 来自 testNG 本身而不是来自 jUnit?

标签: java testng selenium-grid


【解决方案1】:

我的代码有问题。我正在使用反射调用专门为测试用例定义的所有方法。测试用例的实际逻辑存在于通过反射调用的方法中。我试图从那里使用Assert.fail()。所以测试用例没有失败,因为该方法不是 TestNG 的测试,因为该方法没有任何 @Test 注释。

我从我的所有这些测试方法中抛出了一个自定义异常。然后在使用反射调用这些方法的实际测试中捕获它们,在那里我使用Assert.fail(),现在测试用例正常失败。

【讨论】:

    猜你喜欢
    • 2017-08-12
    • 2017-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    相关资源
    最近更新 更多