问题描述
我正在尝试使用 AnyFunSuite
类测试在 Scala 中通过 XML 文件实现的查询流算法。
我有 8 个查询 (Q1-Q8
),范围超过 9 个文件 (F1-F9
)。我为每个包含 9 个测试的查询创建了一个测试类,并创建了一个父测试类,以从 {{1} 到 Q1
的顺序依次运行它们(9*8 = 72 个测试) }} 到 Q8
。所有执行时间都使用 F1
记录。
主要问题是,如果我得到如下不同的执行时间(平均 5 次运行,我对数字进行四舍五入以便更好地解释):
-
F9
forLog4j
在完整测试(72 个测试)中排在最后:Q8
-
F9
for200 000 ms
在 Q8 查询测试(9 个测试)中排在最后:Q8
-
F9
用于135 000 ms
作为独立测试(1 个测试):Q8
所有测试都是这种情况,真正的执行时间是独立测试。差异因子非常相关,测试在序列中越靠前,执行时间差异越大(F9
是最后一个测试的最坏情况)。我的问题是避免手动将所有测试作为独立运行(这是自动化测试的主要目的!)但似乎同一线程/进程下的测试共享内存,每次测试后都没有正确清理。
我需要的是如何处理这个问题并按顺序运行这些测试,但好像它们是独立的(可能在每次测试后清理整个内存),注意测试是独立的,不共享任何数据。
106 000 ms
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)