您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > TestNG
TestNG参数化测试
作者:网络转载 发布时间:[ 2016/1/20 13:28:23 ] 推荐标签:单元测试工具 软件测试

  在TestNG的另一个有趣的功能是参数测试。在大多数情况下,你会遇到这样一个场景,业务逻辑需要一个巨大的不同数量的测试。参数测试,允许开发人员运行同样的测试,一遍又一遍使用不同的值。
  TestNG让你直接传递参数测试方法两种不同的方式:
  使用testng.xml
  数据提供程序
  传递参数使用testng.xml
  有了这种技术,在testng.xml文件中定义的简单参数,然后在源文件中引用这些参数。让我们看看下面的例子中如何使用这种技术来传递参数。
  创建测试案例类
  创建一个Java测试类 ParameterizedTest1.java.
  测试方法parameterTest()添加到测试类。此方法需要一个字符串作为输入参数。
  添加注释 @Parameters("myName") 到此方法。该参数将被传递testng.xml,在下一步我们将看到一个值。
  创建Java类文件名 ParameterizedTest1.java 在 C: > TestNG_WORKSPACE
  import org.testng.annotations.Parameters;
  import org.testng.annotations.Test;
  public class ParameterizedTest1 {
  @Test
  @Parameters("myName")
  public void parameterTest(String myName) {
  System.out.println("Parameterized value is : " + myName);
  }
  }
  创建 TESTNG.XML
  创建 testng.xml C: > TestNG_WORKSPACE 执行测试案例
  <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
  <suite name="Suite1">
  <test name="test1">
  <parameter name="myName" value="manisha"/>
  <classes>
  <class name="ParameterizedTest1" />
  </classes>
  </test>
  </suite>
  我们还可以定义参数在<suite>级别。假设我们已经定义在两个<suite>和<test>级别myName,在这种情况下,常规的作用域规则适用。这意味着,任何类里面<test>标签将查看值参数定义在<test>,而testng.xml文件中的类的其余部分将看到定义在<suite>中值
  编译使用javac的测试用例类。
  C:TestNG_WORKSPACE>javac ParameterizedTest1.java
  现在,运行testng.xml,其中将运行parameterTest方法。TestNG的将试图找到一个命名myName的第一<test>标签的参数,然后,如果它不能找到它,它会搜索包围在的<suit>标签。
  C:TestNG_WORKSPACE>java -cp "C:TestNG_WORKSPACE" org.testng.TestNG testng.xml
  验证输出。
  Parameterized value is : manisha
  ===============================================
  Suite1
  Total tests run: 1, Failures: 0, Skips: 0
  ===============================================
  TestNG 对testng.xml 的参数的类型指定的值会自动尝试转换。下面是支持的类型:
  String
  int/Integer
  boolean/Boolean
  byte/Byte
  char/Character
  double/Double
  float/Float
  long/Long
  short/Short

上一页12下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd