簡體   English   中英

Rails/RSpec - 如何為處理程序編寫 rspec 測試?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM