Rails/RSpec - 如何为处理程序编写 rspec 测试?
Rails/RSpec - How to write rspec tests for handlers?
我有一个负责在 db.It 中创建新记录的处理程序从 POST 请求中获取参数并将新记录添加到 database.That 帮助程序定义如下:
module Vehicles
module Handlers
class AddVehicle
def initialize(vehicle_params)
@vehicle_info = vehicle_params
end
def call
create_vehicle
end
private
def create_vehicle
Vehicle.create!(@vehicle_info)
end
end
end
end
我想测试 class 方法是否正常工作但不发出 POST request.So 我不需要使用 factory_bot 创建数据但只需在调用方法时放置参数。您知道如何测试这种行为吗?
处理程序是 class,所以只需要做这样的事情...
h = Vehicle::Handlers::AddVehicle.new(vehicle_params)
获取处理程序的实例。然后您就可以像进行任何其他测试一样进行测试 class。例如...
vehicle = h.call
refute_nil vehicle
我有一个负责在 db.It 中创建新记录的处理程序从 POST 请求中获取参数并将新记录添加到 database.That 帮助程序定义如下:
module Vehicles
module Handlers
class AddVehicle
def initialize(vehicle_params)
@vehicle_info = vehicle_params
end
def call
create_vehicle
end
private
def create_vehicle
Vehicle.create!(@vehicle_info)
end
end
end
end
我想测试 class 方法是否正常工作但不发出 POST request.So 我不需要使用 factory_bot 创建数据但只需在调用方法时放置参数。您知道如何测试这种行为吗?
处理程序是 class,所以只需要做这样的事情...
h = Vehicle::Handlers::AddVehicle.new(vehicle_params)
获取处理程序的实例。然后您就可以像进行任何其他测试一样进行测试 class。例如...
vehicle = h.call
refute_nil vehicle