当前位置: 首页 > 知识库问答 >
问题:

在@DataProvider方法中引发异常后,TestNG跳过测试

融渊
2023-03-14
// ...
@DataProvider(name = "foo")
public Object[][] provideData () {
    throw new SomeRuntimeException("Some error occurred. The test configuration "
            + "is somehow incorrect.");
}

无论如何,如果能知道TestNG对错误的定义是什么样子,那就很好了。

谢谢你的任何提示!

共有1个答案

松亦
2023-03-14

下面是一篇文章,它提出了一组公平的备选方案,并给出了足够详细的解释:

当TestNG的DataProvider引发异常时,失败而不是跳过测试

对我来说,最好的方法是为数据提供程序添加测试,下面是对IDEA的简要说明:

public class MyClass {

    @DataProvider(name = "my-data-provider")
    private Object [][] myProvider() {
        // ...
    }

    @Test
    public void testDataProviders() {
        Assert.assertTrue(myProvider().length > 0);
    }

    @Test
    // ... Real tests.

}
 类似资料:
  • 我正在使用TestNG数据提供程序读取数据池。xls文件,在名为ReadData的类中包含1017个测试用例和214列。 然后,我将214个String参数传递到名为Enterprise Data的单独类中的@Test注释中。 我在@Test中创建了一个for循环,只执行ceratin迭代的操作(比如1-10),它总共只输入10个测试用例。我的问题是,在运行结束时,它仍然显示“Total test

  • 我有一个返回类型为的方法。它还可以抛出许多异常,所以我想测试一下那些被抛出的异常。所有尝试都失败了,原因相同: 类型Stubber中的(T)不适用于参数(void)时的方法 有什么想法,我可以如何获得方法抛出一个指定的异常?

  • 我正在使用Mojang API从Minecraft玩家的用户名返回UUID。此方法在参数(我们想要知道UUID的播放器的用户名)中接受一个字符串。为了使用API的resultat,我使用SimpleJSON库(将JSON结果解析为要返回的字符串)。 我的方法抛出2个检查过的异常:IOExeption和Parse异常,因为我想要。当错误的用户名(因此不存在用户名)时,API返回一个空JSON对象,在

  • 问题内容: 我有一个带有返回类型的方法。它还可以引发许多异常,因此我想测试所引发的异常。所有尝试均以相同的原因失败: Stubber类型中的when(T)方法不适用于参数(void) 有什么想法可以获取引发指定异常的方法吗? 问题答案: 括号放置不正确。 您需要使用: 而 不是 使用: 在文档中对此进行了解释

  • 我正在尝试创建一个testNG dataprovider方法,该方法将从我的项目中返回一个自定义类的对象数组。这个数组是一维数组,我不想从这个dataprovider方法返回二维数组。请建议,Dataprovider是否应始终返回2D数组(不小于或大于2D)。如果是,则我需要以下方面的帮助: 返回新对象[][]{{user[0]},{user[1]},{user[2]},{user[3]}} 我们

  • 我不熟悉使用selenium和java实现页面对象模型自动化。我使用页面对象模型,将每个页面作为一个类,并将该页面中的操作作为方法。使用excel保存读取的测试数据。我有一个测试,可以使用各种参数来搜索客户,如客户编号、政策编号、姓氏、名字、WebReference、电子邮件等等。。。。。。现在,我必须在方法签名中提供所有参数,否则测试将失败,并出现数据提供程序不匹配错误。我有一个GetData方