Fre*_*eit 41 java junit performance-testing
在上周,我创建了两个课程,我的团队对他们的表现表达了一些担忧.为了评估我的代码,我编写了一些简单的JUnit测试,这些测试通过构建丰富的测试数据集来运行这些类,然后通过相关方法为数千次迭代提供数据.我记录了每次迭代的运行时间,然后使用循环和记录了高,低和平均时间System.nanoTime().最后我让JUnit断言高和平均时间都在可接受的范围内.这种测试方法让我的团队对此代码充满信心.
JUnit是以这种方式测试性能的合适工具吗?是否有更好的工具来测试单元(方法和类)级别的性能?
kos*_*tja 41
可能有更好的方法,但也有一些框架可以帮助实现与JUnit的基准测试.一些有用的实践是热身运行,统计评估.看一下JUnitBenchmarks和JUnitPerf
由于问题已经陈述,编辑看起来像JUnitBenchmarks已被弃用.该项目的维护人员建议继续前往JMH.谢谢Barry NL的单挑.
您的测试应该更好地定义为基准测试.是的,JUnit可以这种方式使用,虽然它不是最好的选择.但你可以举例说明最大值.测试的评估时间,因此如果更改算法导致性能下降,则测试失败.使用@Test(timeout=12345)的配置.
如果你需要真正的性能测试,请考虑JMeter.
| 归档时间: |
|
| 查看次数: |
31711 次 |
| 最近记录: |