Статическая c переменная создается только один раз и используется всеми экземплярами класса.
Примечание: Если вы измените значение переменной stati c, то изменение затронет все экземпляры.
Теперь, переходя к вашему вопросу:
Q: При запуске обоих классов JUnit, будут ли они использовать одну и ту же переменную?
A: Да, они будут использовать одну и ту же переменную.
Пример:
public final class Constants {
public static String myVar = "abc";
}
Классы JUnit:
@RunWith(MockitoJUnitRunner.class)
public class Test1 {
@Test
public void test(){
Constants.myVar = "def";
}
}
@RunWith(MockitoJUnitRunner.class)
public class Test2 {
@Test
public void test(){
System.out.println(Constants.myVar);
}
}
Предположим, вы вызываете метод test()
из класса Test1
, тогда значение myVar
будет изменено на def
, поскольку это обычная переменная . и когда вы вызываете метод test()
из Test2
, он отображает def
, поскольку вы изменили значение myVar
с Test1
.