Java org.junit.Assert 线程安全吗?

Is Java org.junit.Assert thread safe?

我想验证assert和assertEquals是否线程安全。我的理解是它不是,因为我相信我 运行 进入竞争条件,将它用于我的 JUnit 测试。当然,我还有其他方法可以验证结果。我使用这个功能只是出于方便。我查看了 http://junit.sourceforge.net/javadoc/org/junit/Assert.html 作为参考,但没有提及任何内部同步或锁定。谢谢

对于任何合理的实现,以及我随机搜索的那个,assertTrueassertEquals 本身是 线程不可知的 。线程不可知论是世界的普遍状态。

因为值在变化,所以对于 Object 重载,expected 对象上的 equals 将需要是线程安全的,并且必须是来自 toString 的值可能不同。

失败消息通过 String 传递给简单的 AssertionFailedError,尽管 Throwable 不安全的发布 Throwable 并不安全 AssertionFailedError =27=](可变性不大)。