当我使用 Surefire 设置时,为什么我的测试会抛出随机异常parallel=methods
?
这是因为 JUnit 为每个测试类只创建一个 Runner 实例,在使用时由多个线程使用parallel=methods
. SpringJUnit4ClassRunner
仅创建一个TestContextManager
,它将测试实例存储在实例字段中,因此它不是线程安全的。
当你使用parallel=classes
一切都应该没问题,因为 JUnit 会创建一个带有专用运行器的运行器TestContextManager
每个线程。
我已经提交了一个关于此的错误:https://jira.spring.io/browse/SPR-12421 https://jira.spring.io/browse/SPR-12421
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)