Junit, отладка, синхронизация в Eclipse Oxygen.1a Release (4.7.1a) - PullRequest
0 голосов
/ 08 мая 2018

Допустим, у вас есть следующие классы:

public class A {

public void run() { 
    synchronized(B.class) {
       System.out.println("A: here");       
    }
}
}

public class B {

public void run() {

    synchronized(B.class) {
       System.out.println("B: here");       
    }
}
}

Таким образом, код внутри блока синхронизации для obj a и obj b синхронизируется, если он выполняется на одном и том же jvm.

Я хочу проверить синхронизацию, поэтому у меня есть JUnit Testcase для класса A и класса B.

Я запускаю два тестовых случая через затмение через меню Eclipse DebugAs-> JUnitTest.

В результате синхронизация отсутствует. Это потому, что Eclipse создает новую JVM для каждого запущенного JUnit Testcase?

Если да, есть ли способ проверить синхронизацию?

Спасибо, уже

1 Ответ

0 голосов
/ 08 мая 2018

Проблема была в запуске тесткейсов отдельно. С этим сработало:

@Test
public void test() {
    Class[] cls = {A.class,B.class};
    // Parallel among classes
    JUnitCore.runClasses(ParallelComputer.classes(), cls);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...