2017-04-11 38 views
0

我打电话给一个标量函数,但很难弄清楚如何为它创建模拟测试用例。如何为标量值函数创建模拟测试用例

我只是想创造一些模拟测试情况下,像,

  1. 函数返回成功一个值
  2. 函数返回转换错误

我试过的东西之下,但在这里,我要打电话实际功能,我不想这样做,因为如果数据库更改它会导致测试案例失败,因此想嘲笑案件。

require 'rails_helper' 

describe ScalarSqlFunction::Base do 
    describe '#exec' do 
    let!(:success) { 0 } 

    context 'with valid input' do 
     let(:response) { 
     ScalarSqlFunction::CalcTotal(105) 
     } 
     before do 
     allow(response) 
      .to receive(return_code).and_return(success) 
     end 
     it 'returns success' do 
     expect(response.return_code).to eq(success) 
     end 
    end 
    end 
end 

回答

0

您可以创建ScalarSqlFunction模拟对象:: CalcTotal

require 'rails_helper' 

describe ScalarSqlFunction::Base do 
describe '#exec' do 
    let!(:success) { 0 } 

context 'with valid input' do 
    let(:response) { double('Response') } 
    before do 
    allow(response) 
     .to receive(return_code).and_return(success) 
    end 
    it 'returns success' do 
    expect(response.return_code).to eq(success) 
    end 
end 
end 
end 
相关问题