【问题标题】:How to write test cases for ruby on rails module without an associated database table?如何在没有关联数据库表的情况下为 ruby​​ on rails 模块编写测试用例?
【发布时间】:2021-07-14 09:14:12
【问题描述】:

我有以下模块

Organization::EmployeeApis

我在这个模块中有 get_employee 方法。

def get_employee(parameters)
  request = {
    employee_data: {
      name: {
        legal_name: {
          name_details: {
            first_name: parameters["first_name"],
            middle_name: parameters["middle_name"],
            surname: parameters["surname"]
          }
        }
      },
      contact_data: {
        email: parameters["email"]
      }
    }
  }
  employee = Employee.new(:get_employee, :get_employee_request, parameters["organization_id"])
  employee.get_response(employee)
end

我需要为上面没有关联数据库表的模块编写测试用例吗?

【问题讨论】:

    标签: ruby-on-rails rspec-rails


    【解决方案1】:

    您可以创建一个新类,包含您的模块并对其进行测试:

    let(:dummy) do
      Class.new do
        include TheModule
      end
    end
    
    subject { dummy.new.get_employee(parameters) }
    
    context "..." do
      let(:parameters) { ... }
    
      it "..." do
        expect(subject).to eq(...)
      end
    end
    

    这并不意味着任何地方都应该有一个数据库表,只是在 Employee 是一个由数据库表支持的模型的情况下,你会需要它。对于你不需要的模块,它只取决于它的作用。

    【讨论】:

      猜你喜欢
      • 2010-10-23
      • 2014-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-08
      • 2012-04-06
      • 1970-01-01
      相关资源
      最近更新 更多