rspec的助手

时间:2014-06-16 17:08:08

标签: ruby rspec automation qa helpers

我有一个rspec项目,用作测试API的独立应用程序。我想找出将API调用定义为代码重用的帮助程序的最佳方法。

我设置它的方式是我有一个spec文件夹,其中包含一个支持文件夹和一个测试文件夹。在支持中,我有一堆ruby文件,这些文件是用ruby模块/类设置的,用于定义要在规范中使用的API调用。

示例:

module Helpers
  class Project

    def add(name: nil)
      api_call_code_goes_here
    end

  end
end

这对我有用,但我一直在阅读rspec中的共享上下文,并想知道这是最佳做法还是对我有用。

示例:

RSpec.shared_context "project" do

  def add_project(name: nil)
    api_call_code_goes_here
  end

end

是否有人有类似的rspec项目,有类似我的助手?如果是这样,我想知道你是如何设置助手的。

1 个答案:

答案 0 :(得分:0)

在spec / support / helper文件中是,是在rspec中添加自己的代码的最佳方法.......

我在支持帮助文件中添加了我的登录代码,如

module Login
  module Admin
   # this method creates a admin login for request spec.
   def login_admin
    @admin = FactoryGirl.create(:admin, password: '123456789')
    @current_admin = @admin
    visit new_admin_session_path
    fill_in 'admin_email', with: @admin.email
    fill_in 'admin_password', with: '123456789'
    click_button 'Sign In'
  end
end

在spec / spec_helper.rb

中需要此文件
Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }

并在

config.include Login::Admin, type: :request

所以我可以使用super_admin_login方法任何请求规范......