我有这个工厂班级
public class SimpleTestFactory{
@Factory
public Object[] factoryMethod(){
return new Object[] { new SmokeSuite("carrier1"),new SmokeSuite("carrier2") };
}}
现在我有了这个测试类-我正在使用FactoryHelper类来“保存”载波的值,以便以后可以获取并重用它。
package com.xxx.xxx.mobile;
public class SmokeSuite extends MobileTestBase {
private String carrier;
public SmokeSuite(String carrier){
this.carrier=carrier;
FactoryHelper.setTier(carrier);
logger.info("------------ Running for "+carrier);
}
// Commented out setup and teardown to save space
@Test
public void test1() throws Exception {
System.out.println("-------------------------");
System.out.println(FactoryHelper.getTier());
System.out.println(carrier);
System.out.println("-------------------------");
}}
这是我的输出
[INFO ] 2019-06-20 00:25:27.637 [main] MobileTestBase - ------------ Running for carrier1
[INFO ] 2019-06-20 00:25:27.640 [main] MobileTestBase - ------------ Running for carrier2
-------------------------
carrier2
carrier1
-------------------------
-------------------------
carrier2
carrier2
-------------------------
因此,似乎仅在构造函数中拾取并打印了载波值,而在实际测试中却没有。但是承运人的价值按预期印刷。 我的预期结果是
-------------------------
carrier1
carrier1
-------------------------
-------------------------
carrier2
carrier2
-------------------------
任何帮助都将非常有帮助。谢谢
答案 0 :(得分:0)
我应该在安装程序中而不是在构造函数中设置值,从而解决了该问题。