Я создал очень простую реализацию IdlingResource для демонстрации такого поведения.
Запуск результатов теста при моем assertTrue()
запуске, потому что idle = false
.
public class BootstrapRuleTest {
private boolean idle = true;
@Rule
public ExternalResource rule = new ExternalResource() {
@Before
public void before() {
IdlingRegistry.getInstance().register(new IdlingResource() {
@Override
public String getName() {
return "Im Unique!";
}
@Override
public boolean isIdleNow() {
return idle;
}
@Override
public void registerIdleTransitionCallback(ResourceCallback callback) {
}
});
idle = false;
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
idle = true;
}
}).start();
}
};
@Test
public void test() {
assertTrue("Rule broken", idle);
}
}