rails 6和rspec中的并行测试



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

有没有人找到一个解决方案,使它与rspec工作?

https://edgeguides.rubyonrails.org/testing.html并行测试

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

https://oozou.com/blog/running -规格-在-平行- rails - 6 - 84

#rspec #rubyonrails #rails6

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

以下是在Rails 6应用程序中并行化RSpec测试的一般方法:
  1. 使用并行测试Gemparallel_tests宝石是Rails应用程序中并行化测试套件的流行选择。它可以与RSpec一起工作,并且可以跨多个worker分发RSpec测试。

    要使用它,请将gem添加到Gemfile:

    gem 'parallel_tests'
    

    然后,执行bundle install命令安装gem。

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

    rails generate parallel_tests:install
    

    这会创建像config/database.ymlconfig/initializers/parallel_tests.rb这样的配置文件。请确保根据应用程序的设置检查和调整这些文件。

  3. 运行并行RSpec测试你现在可以使用parallel_tests命令并行运行你的RSpec测试。例如,要跨15个worker运行RSpec测试,您可以使用:

    bundle exec parallel_rspec -n 15
    

    这个命令将把你的RSpec测试套件分成15个分区,并同时运行它们。

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

最新更新