首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何同时运行多个ruby文件而不让它们彼此冲突?

如何同时运行多个ruby文件而不让它们彼此冲突?
EN

Stack Overflow用户
提问于 2015-05-26 23:29:28
回答 1查看 549关注 0票数 1

我需要同时运行几个rb文件。每个文件的设置都是相同的(下面是简化的示例)

文件#1 (总共有6个文件,每个文件大约有10个测试)

代码语言:javascript
运行
复制
require_relative './spec_helper'
require_relative './tests'

    config.before(:each) do
        @driver = Selenium::WebDriver.for :firefox
        @base_url = get_url
    end  

    config.after(:each) do
        @driver.close
    end  

RSpec.describe 'File 1' do

  it 'test 1' do
       login
       verify element present
       logout
  end

  it 'test 2' do
       login
       verify element present
       logout
  end

   it 'test 3' do
       login
       verify element present
       logout
   end

end

所有的文件都可以单独运行-但是,当同时运行时,它们在after钩子中结束时会互相踩在一起,特别是@driver.close,我得到了以下错误:

for nil:NilClass在C:/Automated_Testing/Indie/w_molap_1.rb:31:inblock (2个级别)中出现后挂接NoMethodError: undefined method quit‘

我的问题是:我是否可以做一些不同的事情-也许是在钩子设置之前的驱动程序中,这样我就可以同时运行这些文件,而不会让它们相互践踏。

EN

Stack Overflow用户

发布于 2015-06-09 05:27:19

我认为你需要研究的是在parallel_test中使用Ruby Gem。此外,您应该从Test::Unit::TestCase扩展您的测试类,以便您可以利用定义setup/teardown方法的优势。此外,每个测试方法都应该为每个方法分离到单独的测试类中,以便parallel_test可以在单独的线程中运行每个方法。

此外,我会在开始时保持简单,在您弄清楚基本的多线程之前,不要使用RSpec (作为一个BDD框架)。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30462832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档