有没有一种方法可以分发 junit 测试,以便更快地完成它们?

发布于 2024-09-04 00:20:11 字数 62 浏览 5 评论 0原文

我们的 JUnit 总共需要 6 个小时才能运行。有没有一种简单的方法可以在n台不同的机器上运行其中的1/n?

Our JUnits take a total of 6 hours to run. Is there an easy way to run 1/n of them on n different machines?

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

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

发布评论

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

评论(2

不忘初心 2024-09-11 00:20:12

GridGain(免费的云实现)能够跨节点集群分发 JUnit 测试运行。请参阅分布式 JUnit 概述

以防万一,这并不完全是您所要求的,但 TestNG 可以并行运行测试(这已经使您的构建速度更快)。请参阅使用 TestNG 和数据提供程序进行高级并行测试

另请参阅

GridGain (a free cloud implementation) is able to distribute JUnit tests runs across a cluster of nodes. See Distributed JUnit Overview.

Just in case, this is not exactly what you're asking for but TestNG can run tests in parallel (thi would already make your build faster). See Advanced parallel testing with TestNG and data providers.

See also

暗藏城府 2024-09-11 00:20:12

我突然想到,一种选择是使用 TeamCity 并使用不同的构建脚本,这些脚本知道如何对测试进行分区,并将它们设置为单独的项目(每个分区),然后设置 n 个代理,这可以使用允许较大 n 值的 Amazon EC2 来完成。

由于您可能需要 3 个以上的代理,因此您将超出他们的免费产品范围。

这里有一些假设:没有通用数据库将所有这些测试联系在一起,并且所有测试都可以彼此独立运行。

如果有一个通用数据库,事情就会变得更加复杂,因为每个代理都需要一个数据库,这样测试就不会互相干扰(当然,将计算能力外包给 EC2 可能是不切实际的)。

Just off the top of my head, one option is to use TeamCity and have different build scripts that know how you want to partition the tests, and set those up as separate projects (each partition), and then set up n agents, which can be done using Amazon EC2 allowing for large values of n.

Since you probably want more than 3 agents, you would be out of their free product territory.

Some assumptions here: There is no common database that ties all of these tests together and all the tests can otherwise run independently of each other.

If there is a common database, that makes things much more complicated, as you would need a database for each agent so the tests don't step on each other (and of course farming out the computing power to EC2 would probably be impractical).

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