我的集成测试按顺序运行,但我想并行化它们。问题是,它们都设置和拆除相同的数据库行,所以如果它们并行运行,当另一个测试清理时,它们的数据会在它们中间消失。
我计划通过使每个测试设置并拆除每个测试的唯一行来改变这一点,这样它们就不会相互干扰。我已经通过将每个测试的 id 转换为同名的常量来开始这个过程,比如ROW_ID
. 但是我们有很多测试,很容易错过其中一个,我也不希望人们ROW_ID
将来添加重复的值,所以我认为编写一个测试可能是个好主意我的测试。
以下是我想象的工作方式:迭代所有 IntegrationTest 类,使用反射来获取其ROW_ID
字段的值,将其放入数据结构中,然后检查重复项。我的问题是我不知道如何迭代所有的 IntegrationTest 类。它们都有一个共同的命名模式“*IntegrationTest”。有人可以帮我完成这一步吗?
如果有更好的方法来完成我正在尝试做的事情,请务必将其作为答案给我。