一尘不染

JUnit是编写性能测试的正确工具吗?

java

在上周,我创建了两个班,我的团队对他们的表现表达了一些担忧。为了评估我的代码,我编写了一些简单的JUnit测试,它们通过构建丰富的测试数据集,然后通过相关方法将这些数据馈入数千次迭代来练习这些类。我记录了每次迭代的运行时间,然后使用循环和注销了高,低和平均时间System.nanoTime()。最终,我让JUnit断言,高频率和平均时间都在可接受的范围内。这种测试方法使我的团队对此代码充满信心。

JUnit是否是以这种方式测试性能的正确工具?是否有更好的工具来测试单元(方法和类)级别的性能?


阅读 220

收藏
2020-12-03

共1个答案

一尘不染

也许有更好的方法,但是也有一些框架可以帮助实现JUnit的基准测试。一些有用的做法是热身运行,统计评估。看看JUnitBenchmarksJUnitPerf

*自从提出问题以来, *EDIT
似乎已弃用JUnitBenchmarks。该项目的维护者建议继续使用JMH。谢谢Barry NL的提示。

2020-12-03