首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >参数化测试的解决方案

参数化测试的解决方案
EN

Stack Overflow用户
提问于 2009-05-27 04:30:37
回答 3查看 459关注 0票数 1

我熟悉JUnit中参数化测试的用法,例如:

http://junit.org/apidocs/org/junit/runners/Parameterized.html

但我想知道对于外部定义的测试数据是否有任何替代的(可能更好的)方法。我真的不想在我的源文件中硬编码我的测试数据-我更喜欢用XML或其他结构化方式定义它。

有没有一个特定的框架,或者对框架的扩展,可以为我提供比标准JUnit方法更好的解决方案。你发现的解决这个问题的最佳方法是什么?

编辑:我熟悉FIT框架,并在这种情况下使用它,如果可能的话,我想避免这种情况。如果有比TestNG更好的解决方案的JUnit扩展或类似的框架,请让我知道。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-05-27 06:01:19

所以我发现了TestNG的方法,它允许你指定测试的参数,更多信息可以在这里获得:

http://testng.org/doc/documentation-main.html#parameters-testng-xml

这方面的一个例子是:

代码语言:javascript
复制
@Parameters({ "first-name" })
@Test
public void testSingleString(String firstName) { 
  System.out.println("Invoked testString " + firstName);
  assert "Cedric".equals(firstName);
}

和:

代码语言:javascript
复制
<suite name="My suite">
  <parameter name="first-name"  value="Cedric"/>
  <test name="Simple example">

您也可以使用数据源(如Apache Derby)来指定此测试数据,不过我想知道这是一种灵活的解决方案。

票数 1
EN

Stack Overflow用户

发布于 2009-05-27 04:33:31

为此,您可以尝试使用Dependency Injection or Inversion of ControlSpring Framework可以做到这一点。

票数 1
EN

Stack Overflow用户

发布于 2009-06-02 15:47:13

我在参数化测试示例中没有看到任何需要将数据存储在类本身中的内容。使用从xml文件中提取数据并返回Object并调用的方法,在示例中使用静态代码。当然,如果您想切换TestNG,他们已经为您编写了XML解析器。看起来JUnitExt也为JUnit 4准备了一个,或者你也可以自己写一个。

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

https://stackoverflow.com/questions/913928

复制
相关文章

相似问题

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