如何为Google Drive API编写RSpec测试

时间:2014-01-23 00:08:32

标签: ruby-on-rails rspec rspec-rails

有谁知道正确的测试术语?我的控制器将数据保存到Google电子表格中,因此Rspec类似于

it "sends the request into Google spreadsheet" do
    expect{
            post :create, request: FactoryGirl.attributes_for(:request)
        }.to change(GoogleDrive::#some code that looks in the spreadsheet, :rows).by(1) 

以下是控制器调用的方法,FYI

def save_spreadsheet
    connection = GoogleDrive.login(ENV['g_username'], ENV['g_password'])
    ss = connection.spreadsheet_by_title('Test')
    ws = ss.worksheets[0]
    row = 1 + ws.num_rows #finds last row
    ws[row, 1] = self.name
    ...
    ws.save
  end

1 个答案:

答案 0 :(得分:0)

根据我迄今为止所学到的,你实际上不会为此编写测试,因为:

1)首先让测试点击save_spreadsheet方法是不合适的(从那以后每个测试都会创建一个新的数据行)。相反,你会想要把它排除在外。

2)即使您对此感到满意并且想要编写测试,您实际上也无法在Rspec中为大量非Rails API编写测试;此示例中没有测试功能可以让您查看GoogleDrive内部并查看其中的内容