And what happens if the body of the `Runnable` in fact fails, e.g. with an `AssertionError`? An stack trace will be printed somewhere, but in the meantime the test proceeds and possibly passes. To test the behavior of an `Executor` you need to make sure all of its tasks finish before the test case closes, and that they terminated normally.

(Try intentionally breaking your implementation—you should see the test fail with the error you introduced. If not, your test is wrong and will just give a false sense of security.)