如何在 Java 测试套件中包含性能目标?

发布于 2024-10-09 08:28:05 字数 95 浏览 0 评论 0原文

有没有一种简单的方法可以在 Java 的日常构建测试中自动执行诸如“此服务必须支持每分钟 1,000 个事务”之类的目标?这是否在 JUnit 中完成过,或者有什么注意事项吗?

Is there an easy way to automatically enforce goals like "This service must support 1,000 transactions per minute" in daily build tests for Java? Is this ever done in JUnit or are there caveats to it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

瞎闹 2024-10-16 08:28:05

您无法完全执行您想要的操作,但您可以使用 JUnitPerf 执行以下操作。

JUnitPerf 测试的目的是
特别用于以下情况
你有定量的表现
和/或可扩展性要求
你想继续检查
重构代码。例如,你
可能会编写 JUnitPerf 测试来确保
重构算法并没有
产生不良的性能开销
在性能关键的代码中
部分。你也可以写一个
JUnitPerf 测试以确保
重构资源池并没有
对可扩展性产生不利影响
池处于负载状态。

You can't do exactly what you are looking for but you can do the below using JUnitPerf.

JUnitPerf tests are intended to be
used specifically in situations where
you have quantitative performance
and/or scalability requirements that
you'd like to keep in check while
refactoring code. For example, you
might write a JUnitPerf test to ensure
that refactoring an algorithm didn't
incur undesirable performance overhead
in a performance-critical code
section. You might also write a
JUnitPerf test to ensure that
refactoring a resource pool didn't
adversely affect the scalability of
the pool under load.

幸福%小乖 2024-10-16 08:28:05

对我来说,这不像是单元测试。它可能是一项长期运行的事务,会延迟构建的完成。您可能会重新考虑总运行时间是否比您的构建频率长。

我什至不清楚这个问题有多大意义,因为它没有考虑同时用户的情况。

您可以使用 TestNG 轻松地进行“穷人的”多线程负载测试。这在 JUnit 4.4 中是不可能的,但在更高版本中可能是。

That doesn't feel like a unit test to me. It could be a long-running transaction, one that will delay the completion of your build. You might reconsider if the total running time is longer than your build frequency.

It's not even clear to me how meaningful the question is, because it doesn't take into account simultaneous users.

You can easily do a "poor man's" multi-threaded load test like this with TestNG. It's not possible in JUnit 4.4, but it might be in a later version.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文