当前位置: 首页 > 面试题库 >

使用jUnit进行数据驱动的测试

唐弘厚
2023-03-14
问题内容

您如何在jUnit中编写数据驱动的测试?

(我的定义)数据驱动测试是一种从某些外部源(文件,数据库等)读取数据,每行/文件/任何内容执行一个测试,并将结果显示在测试运行程序中的测试,就像您进行了单独的测试-
每次运行的结果将单独显示,而不是汇总显示。


问题答案:

在JUnit4中,您可以使用Parameterized testrunner进行数据驱动的测试。

它的文档记录不是很好,但是基本思想是创建一个静态方法(用标记@Parameters),该方法返回Object数组的Collection。这些数组中的每一个都用作测试类构造函数的参数,然后可以使用构造函数中设置的字段运行常规的测试方法。

您可以编写代码以读取和解析该@Parameters方法中的外部文本文件(或从其他外部源获取数据),然后可以通过编辑此文件来添加新测试,而无需重新编译测试。



 类似资料:
  • 在我的公司,我使用SeleniumWebDriver进行自动化测试来自动化Web应用程序,但我直接使用id、xpath和所有工具,而不遵循任何框架,因此现在我遇到了一些问题,必须设计数据驱动的框架。 请建议我如何在eclipse下设置DatadrivenFramwework。要遵循哪些步骤和所有步骤。 谢谢

  • 从2.0.6开始使用spring boot starter test会带来JUnit 4依赖性。如何使用spring boot starter test(通过Gradle),但使用JUnit 5,而不引入JUnit 4依赖项? 如果有帮助,这是Gradle的部分依赖输出: 这是我的身材。gradle文件: 添加JUnit 5依赖项并执行注释中提到的排除就完成了。测试依赖项现在如下所示:

  • 然而我却遇到了错误。我无法确定错误发生的确切位置,但我从结果树中获得了如下错误消息: 对于JSR223采样器 响应消息:javax.script.scriptException:源文件:内联计算:import org.apache.poi.xssf.usermodel.xssfworkbook;导入org.apache.poi.xssf.us。..“:INTEGER.parseint(vars.g

  • ...还有一个很简单的测试... 如果我在IntelliJ中运行这个,测试就会运行并失败。 如果我提交这个项目并将其推送到github,TeamCity会看到变化并开始构建。生成会很快失败,出现以下错误:

  • 问题是,如果我使sqlService,Grails依赖项注入不起作用,它只创建一个空对象。如果我尝试将其设置为静态(如),情况也是如此。 我尝试将一个新的SqlService实例小型化,就像我的setupSpec块中所示: 这只是给出了一个错误 有人知道我如何在Spock测试中使用另一个服务类作为数据提供者吗?

  • 我有这个过滤器类,在使用junit进行测试时需要尽可能高的代码覆盖率。 和测试等级: 当我运行时,它在 线 我如何避免这种情况? 我需要调用这个方法并执行里面的任何内容来提供所需的代码覆盖。