【发布时间】:2021-08-30 17:45:19
【问题描述】:
我有一个调用服务的控制器函数,我想测试是否使用正确的参数调用了该服务。
def send_for_signature
client = Client.find(params[:client_id])
external_documents = params[:document_ids].map{|id| ExternalDocument.find(id)}
service = EsignGenieSendByTemplate.new(client: client, external_documents: external_documents, form_values: params[:form_values])
result = service.process
if result["result"] == "success"
head 200
else
render json: result["error_description"], status: :unprocessable_entity
end
end
如何编写测试以确保正确调用 EsignGenieSendByTemplate.new(client: client, external_documents: external_documents, form_values: params[:form_values])?
【问题讨论】:
-
注意
external_documents = params[:document_ids].map{|id| ExternalDocument.find(id)}可以写成external_documents = ExternalDocument.find(params[:document_ids]),以节省一些SQL查询
标签: ruby-on-rails rspec