java - Java org.junit.Assert 线程安全吗?
问题描述
我想验证 assert 和 assertEquals 是否是线程安全的。我理解它不是,因为我相信我在使用它进行 JUnit 测试时遇到了竞争条件。当然,我还有其他方法可以验证结果。我使用这个功能只是为了方便。我查看了http://junit.sourceforge.net/javadoc/org/junit/Assert.html以供参考,并没有提到任何内部同步或锁定。谢谢。
解决方案
对于任何合理的实现,以及我随机搜索的那个,assertTrue
并且assertEquals
它们本身与线程无关。线程不可知论是世界的常见状态。
因为值正在发生变化,对于Object
重载,预期equals
对象上的值需要是线程安全的,并且值可能会有所不同。toString
失败消息通过 a 传递String
给 simple AssertionFailedError
,所有看起来都是按顺序排列的,尽管Throwable
对于不安全的发布并不安全(可变性不大)。
推荐阅读
- sql - 使用游标 plsql 块将数据从临时表传输到主表
- angular - 如何在嵌套的延迟加载模块中实现 ngx translate(App Module->(Module 1->(Module 2)))
- osgearth - osgearth ThreeDTiles 模型数据很大
- pandas - 在训练集和测试集上具有相同转换的多列标签编码
- javascript - 如何处理 png 或 jpeg 类型的文件上传的输入字段?
- xml - 在 Notepad++ 的下一行中增加 xml 值
- pine-script - 如何将代码从版本 #2 转换为版本 #4 的 pine 脚本?无需重新粉刷
- azure - 如何处理 Azure 事件中心中的数据处理失败?
- flutter - 在颤动延迟后,如何使用 Chewie 控制器播放视频?
- laravel - NPM 运行 prod 后样式更改