![](/img/trans.png)
[英]RSpec and ActiveRecord for Rails: How to write effective tests
[英]Rails/RSpec - How to write rspec tests for handlers?
我有一個負責在 db 中創建新記錄的處理程序。它從 POST 請求中獲取參數並將新記錄添加到數據庫中。該幫助程序定義如下:
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 請求。所以我不需要使用 factory_bot 創建數據,只需在調用該方法時放置 arguments 即可。 你知道如何測試這種行為嗎?
處理程序是 class,所以只需要做這樣的事情......
h = Vehicle::Handlers::AddVehicle.new(vehicle_params)
獲取處理程序的實例。 然后您可以像測試任何其他 class 一樣進行測試。 例如...
vehicle = h.call
refute_nil vehicle
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.