下面是我的情况。

我的测试运行之前,在beforesuite,我实例一串“环境中的对象”这些对象越能根据我的环境配置文件中创建。这是我的测试,真正使用这些环境中的对象。问题是如何可以将它们传递到测试。

您第一脉冲可能是使用一个数据提供者,这将传递正确的对象,以进行测试。问题是,数据提供者必须知道如何引用正确的对象,然后将它们传递。就目前的环境中的物体只能通过名称被称为(串 - >对象)

我的另一种选择是通过测试方法,该方法是指在正确的对象的字符串。但是,这具有相同的问题如上述。

这两个选项创建大量的依赖关系和问题。我也有使大量假设有关密钥是指类型。

大多数这个问题源于以下事实:我滥用TestNG的。我真正需要的是我自己的控制器,它可以实例化我的测试对象,同时通过适当的环境中的物体。

我一直在寻找到TestNG的TestRunner的界面,但我不知道这是否会工作。

任何和所有理解的帮助。 埃里克

有帮助吗?

解决方案

为什么不使用@Factory和@dataProvider的混合

在工厂将负责创建测试实例并使它们正确的参数的方法:字符串(在这种情况下,数据提供者然后可将这些字符串转换为对象),或直接的对象,在这种情况下,你的测试可以使用这些值直接

随意张贴一些代码,如果这没有帮助您解决问题。

- 塞德里克

其他提示

我也有类似情况,并结束了使用Java属性来代替。

您可以使用该属性在代码中这样和在传递变量与-Dmyproperty.value您的JVM =打招呼。我用它像环境路径,服务URL,超时量等东西。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top