我必须在testng中编写以下单元测试用例:
saveProductTest,如果产品详细信息在DB中成功保存,将返回productId.
modifyProductTest,它应该使用以前保存的productId作为参数.
我正在使用testNg数据提供程序从XML文件中获取saveProductTest和modifyProductTest方法的产品详细信息输入(PrdouctName,ReleaseDate).因为productId是在save方法中生成的,所以我必须将它传递给modify方法.
将一个测试方法的输出传递给testng中的另一个方法的最佳方法是什么?
Ced*_*ust 19
尽管对simendsjo充满敬意,但所有测试应该彼此独立的事实是一种教条式的方法,有很多例外.
回到原始问题:1)使用依赖方法和2)将中间结果存储在字段中(TestNG不会从头开始重新创建实例,因此该字段将保留其值).
例如
private int mResult;
@Test
public void f1() {
mResult = ...
}
@Test(dependsOnMethods = "f1")
public void f2() {
// use mResult
}
Run Code Online (Sandbox Code Playgroud)
小智 7
随着ITestContext对象.它是Suite上下文中全局可用的对象,并且每个@Test中的参数都是可以参考的.
例如:
@Test
public void test1(ITestContext context, Method method) throws Exception {
// ...
context.setAttribute(Constantes.LISTA_PEDIDOS, listPaisPedidos);
// ...
}
@Test
public void test2(ITestContext context, Method method) throws Exception {
List<PaisPedido> listPaisPedido = (List<PaisPedido>)
context.getAttribute(Constantes.LISTA_PEDIDOS);
// ...
}
Run Code Online (Sandbox Code Playgroud)