我有一个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项目,有类似我的助手?如果是这样,我想知道你是如何设置助手的。
答案 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方法任何请求规范......