假设我有一些guice模块/提供程序,它们应该根据从TestNg套件文件收到的参数创建绑定。 e.g。
<test name="Test">
<parameter name="profile" value="chrome"></parameter>
<classes>
<class name="com.apc.ui.tests.TestClass">
</class>
</classes>
</test>
我想要实现的是通过上述模块访问参数值的可能性。 e.g。
public class MyModule extends AbstractModule {
@Inject
ITestContext context;
@Override
protected void configure() {
...
}
}
所以,我想知道它是否可行。任何替代品也非常受欢迎。感谢。
答案 0 :(得分:0)
最终,确实设法在testNg源中找到了解决方案。可以在套件文件中设置所谓的父模块。
<suite name="Suite1" verbose="1" parallel="false"
parent-module="org.my.tests.ParentModule">
...
模块可以接收ITestContext作为构造函数参数,这意味着它可以被注入其他类:
public class ParentModule extends AbstractModule {
private ITestContext context;
public GuiceParentModule(ITestContext context) {
this.context = context;
}
@Override
protected void configure() {
bind(ITestContext.class).toInstance(context);
}
...