JUnit assertions should not be made from the run
method of a Runnable
, because their failure may not be detected in the
test that initiated them. Failed assertions throw assertion errors. However, if the error is thrown from another thread than the one that initiated
the test, the thread will exit but the test will not fail.