Я пишу несколько тестовых классов и продолжаю базовый тестовый класс. Но проблема в том, что хотя я блокирую переменную isInited, она запускается один раз для каждого класса. Он должен быть запущен один раз и инициализировать его после этого, он не должен вызываться снова, но он вызывает 3 раза, так как у меня есть 3 класса, которые расширяются от базового класса. Пожалуйста, смотрите ниже.
Java 1,8 и TestNG
public class BaseTest(){
private static isInited;
@BeforeClass
public void init(){
synchronized (BaseTest.class) {
//here even though I lock and initialize the variable this code is still called once for each class. I do not understand why this happens?
if (!isInited) {
//do some init
isInited=true;
}
}
}
public class TestClass1 extends BaseTest{
@BeforeClass
public void setup(){
//setup somethings
}
//test methods
}
public class TestClass2 extends BaseTest{
@BeforeClass
public void setup(){
//setup somethings
}
//test methods
}
public class TestClass3 extends BaseTest{
@BeforeClass
public void setup(){
//setup somethings
}
//test methods
}