У меня есть комплект testng + spring с параллельной опцией, установленной на Tests. Я бы хотел, чтобы у каждого <test>
был свой ApplicationContext. Таким образом, каждый поток <test>
будет иметь свой собственный набор компонентов. Я могу инициализировать ApplicationContext, но компоненты не получают автосвязь, и я получаю исключение nullpointer, когда пытаюсь получить доступ к компоненту. Пожалуйста, найдите мой код ниже,
AppTest.class
@ComponentScan(basePackages = "org.comp.automation")
public class AppTest extends AbstractTestNGSpringContextTests{
@BeforeTest
public void intialise() throws Exception{
ApplicationContext context = new AnnotationConfigApplicationContext(BeanTwo.class);
}
@Autowired
public CommonBean commonBean;
@Autowired
public BeanTwo beanTwo;
@Parameters(value={"param"})
@Test
public void shouldAnswerWithTrue(String param) {
System.out.println(commonBean.STRING_CHECK);
commonBean.createCommonBeanObject(param);
System.out.println("Checking the bean values now...");
assertTrue( true );
}
}
CommonBean.class
@Component
public class CommonBean {
public String commonBeanValue;
public String STRING_CHECK = "Hello!!";
public void createCommonBeanObject(String param){
commonBeanValue = param;
}
public void printParamValue(){
System.out.println(commonBeanValue);
}
}
BeanTwo.class
@Component
public class BeanTwo{
public void printBeanTwo(){
System.out.println("Bean Two!!");
}
}
Может ли кто-нибудь помочь мне с этим и указать мне правильное направление?