方案:-
我的测试数据是1)字符串A 2)字符串B 3)字符串C
现在我有了一个类,其中有数据提供者和工厂,数据提供者有3个值作为字符串
public class TestParent {
public String tenant;
@Factory(dataProvider = "myList")
public TestParent(String s) {
tenant = s;
}
@DataProvider(name = "myList")
public Object[][] myList() {
List<String> s = new ArrayList<String>();
s.add("A");
s.add("B");
s.add("C");
Object[][] objArray = new Object[s.size()][];
for (int i = 0; i < s.size(); i++) {
objArray[i] = new Object[1];
objArray[i][0] = s.get(i);
}
return objArray;
}
@Test()
public void setup() {
System.out.print(tenant);
System.out.print("\n");
}
@Test(dependsonMethod = setup)
public void beforeclass() {
System.out.print("Hello");
System.out.print(tenant);
System.out.print("\n");
}
@Test(dependsonMethod = beforeclass)
public void afterclass() {
System.out.print("BYE");
System.out.print(tenant);
System.out.print("\n");
}
@Test(dependsonMethod = afterclass)
public void mm() {
System.out.print("YES");
System.out.print(tenant);
System.out.print("\n");
}
}
我想要的输出
A
HelloA
BYEA
YESA
B
HelloB
BYEB
YESB
C
HelloC
BYEC
YESC
创建两个单独的类FactoryClass和TestDataClass,然后从textng运行FactoryClass。xml
FactoryClass:
public class FactoryClass {
@Factory(dataProvider = "myList")
public Object[] createInstances(String str) {
return new Object[] {new TestData(str)};
}
@DataProvider(name = "myList")
static public Object[][] myList(){
return new Object[][] {
new Object[] { new String("A") },
new Object[] { new String("B") },
};
}
}
TestDataClass:
public class TestData {
private String tenant;
public TestData(String s)
{
this.tenant=s;
}
@Test()
public void setup( )
{
System.out.print(tenant);
System.out.print("\n");
}
@Test(dependsOnMethods="setup")
public void beforeclass()
{
System.out.print("Hello");
System.out.print(tenant);
System.out.print("\n");
}
@Test(dependsOnMethods="beforeclass")
public void afterclass()
{
System.out.print("BYE");
System.out.print(tenant);
System.out.print("\n");
}
@Test(dependsOnMethods="afterclass")
public void mm()
{
System.out.print("YES");
System.out.print(tenant);
System.out.print("\n");
}
}
XML文件:
<suite name="StackNew" verbose="1">
<test name="test" group-by-instances="true">
<classes>
<class name="stack.FactoryClass"></class>
</classes>
</test>
</suite>
如果您面临序列问题:链接
我目前正在对工厂设计模式进行一些研究,并列出了我对每种模式的理解的简要描述。如果有不正确的地方,请纠正我。 1) 工厂——简单,实际上不是正式的设计模式,通常是一个类,它有一个或多个方法(有时是静态的)接受一个参数,以确定要返回哪个抽象类型的子类。 2) 工厂方法——正式的模式,使用抽象工厂类。对于预期退货类型的每个产品,创建一个关联的factory类,并实现或重写所需的方法。在客户机代码中,虽然
本文向大家介绍简介AngularJS中使用factory和service的方法,包括了简介AngularJS中使用factory和service的方法的使用技巧和注意事项,需要的朋友参考一下 AngularJS支持使用服务的体系结构“关注点分离”的概念。服务是JavaScript函数,并负责只做一个特定的任务。这也使得他们即维护和测试的单独实体。控制器,过滤器可以调用它们作为需求的基础。服务使用
问题内容: 我想通过gradle任务运行我的方法 这是我通过cmd运行的方式: 应该如何写成gradle? 更新资料 我努力了 我得到: 我得到一个错误: 但是当我通过Intellij运行时,每个thig都可以正常工作 问题答案: 最简单的方法可能是使用应用程序插件。添加到您的build.gradle并设置。要将参数添加到主类,请修改运行任务并编辑args属性 类路径是从主sourceSet中自动
共设5个测试班。每一个都使用@Factory(dataprovider=“data”)初始化。我想实现的是,每个测试类中的测试方法应该与dataprovider实例并行运行。此外,测试类应该并行运行。 如下所示。TestClass1应该并行运行dataprovider实例。因此,测试类TestClass1的所有方法将为dataprovider实例并行运行。 data-provider-thread
本文向大家介绍使用 docker-compose 运行 MySQL的方法,包括了使用 docker-compose 运行 MySQL的方法的使用技巧和注意事项,需要的朋友参考一下 目录结构 mysql 目录下的 data 为数据目录,mysql 的数据表、二进制日志文件就在这里。.env 文件包含了一些变量,这些变量可以在 docker-compose.yml 文件中通过 ${variable_n
早些时候,在jQuery中编写自定义控件的唯一方法是扩展$.fn命名空间。 这适用于简单的小部件。 假设您构建了更多有状态的小部件,它很快变得很麻烦。 为了帮助构建小部件,Widget Factory在jQuery UI中引入,它删除了通常与管理小部件相关的大部分样板。 jQueryUI Widget Factory只是一个函数($ .widget),它将字符串名称和对象作为参数,并创建一个jQu