gpt4 book ai didi

ruby-on-rails-3 - 我应该如何测试包含来自 lib/目录的方法的 Rails Controller 操作?

转载 作者:行者123 更新时间:2023-11-28 21:34:07 25 4
gpt4 key购买 nike

我的 Controller Action :

 def single
final_static_matrix = Single.final_static_matrix(average_static_matrix, params[:priorities])

...

end

在我的 lib/single.rb 中:

module Single
def self.final_static_matrix(average_static_matrix = {}, priorities = {})
final_static_matrix = Hash.new

for i in 0..average_static_matrix.length-1
final_static_matrix[i.to_s] = average_static_matrix*priorities[i.to_s]
end

final_static_matrix
end
end

在我的 controller_spec.rb 中:

it "should be successful" do
get :single, :id => 1
priorities = {"0" => "1"}
matrix = {"0" => "3"}
Single.final_static_matrix(matrix, priorities)
response.should be_success
end
  1. 我应该如何调用 lib/目录中的函数?
  2. 如果我在 Controller 文件中编写测试或创建类似 single_spec.rb 的文件会更好吗?

最佳答案

我会做什么:在 Controller 规范中,我会测试该方法是否被调用:

describe "GET :single" do
it "succeeds" do
Single.should_receive(:final_static_matrix).and_return('something')

get :single, :id => 1
end
end

spec/lib/single_spec.rb 中,您测试 final_static_matrix 是否按预期运行。

你可以查看rspec2的文档here .

关于ruby-on-rails-3 - 我应该如何测试包含来自 lib/目录的方法的 Rails Controller 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6840304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com