rails 6 和 rspec 中的并行测试

问题描述 投票:0回答:2

我正在尝试使用 rspec 和 Rails 6 进行并行测试。 根据他们的文档,只需要添加 PARALLEL_WORKERS=15 ,其中 15 是工人数量。但是,这适用于测试用例,而不适用于 rspec。

有人找到了让它与 rspec 一起使用的解决方案吗?

https://edgeguides.rubyonrails.org/testing.html#parallel-testing

rspec rspec-rails ruby-on-rails-6 parallel-testing
2个回答
0
投票

RSpec 不支持 Rails 6 内置并行测试。

https://oozou.com/blog/running-specs-in-parallel-before-rails-6-84

#rspec #rubyonrails #rails6


0
投票

RSpec
本身不提供对并行测试执行的内置支持。并行化
RSpec
测试通常需要额外的 gemstools 才能实现。然而,可用的特定工具和技术可能从那时起就已经发生了演变。

您可以遵循以下通用方法在 Rails 6 应用程序中并行化

RSpec
测试:

  1. 使用并行测试 Gem

    parallel_tests
    gem 是 Rails 应用程序中并行测试套件的流行选择。它与 RSpec 配合使用,可以将您的 RSpec 测试分配给多个工作人员。

    要使用它,请将宝石添加到您的

    Gemfile

    gem 'parallel_tests'
    

    然后,运行

    bundle install
    安装 gem。

  2. 配置并行测试:安装gem后,需要生成并配置并行测试任务。运行以下命令生成必要的配置文件:

    rails generate parallel_tests:install
    

    这将创建像

    config/database.yml
    config/initializers/parallel_tests.rb
    这样的配置文件。确保根据您的应用程序设置检查和调整这些文件。

  3. 运行并行 RSpec 测试:您现在可以使用

    parallel_tests
    命令并行运行 RSpec 测试。例如,要在 15 个工作线程中运行 RSpec 测试,您可以使用:

    bundle exec parallel_rspec -n 15
    

    此命令会将您的 RSpec 测试套件分为 15 个分区并同时运行它们。

请记住,并行测试可能会对您的测试环境设置、测试数据库和依赖项产生影响,因此可能需要进行彻底的测试和配置调整,以确保可靠的并行测试执行。

© www.soinside.com 2019 - 2024. All rights reserved.