如何使用云计算加速单元测试?

时间:2014-11-06 11:13:09

标签: unit-testing amazon-web-services junit cloud

我正在开发一个包含大量遗留代码的项目,这些代码包含一些测试(在JUnit中)。那些单元测试非常慢,运行它们通常会减慢我的速度。我计划重构和优化它们(所以它们是真正的单元测试),但在我这样做之前,我想通过并行运行它们来加速它们。当然,我可以让自己有一些集群并在那里运行它们,但这不值得麻烦和金钱。是否可以通过某些云服务来实现这一目标,例如:亚马逊AWS?你能推荐一些我可以阅读更多相关内容的文章吗?

1 个答案:

答案 0 :(得分:0)

并行运行单元测试需要两件事:

  1. 使用套件或JUnit类别创建多个测试组
  2. 启动每组测试的方法
  3. 一旦获得#1,获得#2的简单方法就是使用持续集成。

    您是否已经使用持续集成?

    如果没有,则很容易添加。其中一个比较受欢迎的是Jenkins Jenkins还支持distributed builds,其中主代码在从属节点上启动构建作业。您可以使用它来并行运行每个组。

    云中的持续集成

    设置持续集成后,如果愿意,可以将其移动到云中。

    如果你想坚持使用jenkins,你可以使用

    • Cloud Bees需要花钱
    • Red Hat Openshift" Gears" can be used to run Jenkins。我认为可以在亚马逊WS中使用齿轮,但我从来没有这样做过。你可以免费使用一些内存使用量有限的齿轮,但是如果你需要更多齿轮则需要花钱。

    如果您不想使用Jenkins,还有其他基于云的CI,包括 Travis-CI与github集成。这是article about how to speed up builds in Travis