【发布时间】:2010-01-24 06:16:37
【问题描述】:
在我的 RSpec 控制器测试中,我试图测试一个调用子函数的特定操作。但我不希望测试包含对该子函数的调用。 (它会引发一个在我的开发环境中根本无法修复的错误)
当我对它运行测试时,从这个控制器操作中省略这个子函数调用的最佳方法是什么?
谢谢。
【问题讨论】:
标签: ruby-on-rails testing rspec functional-testing
在我的 RSpec 控制器测试中,我试图测试一个调用子函数的特定操作。但我不希望测试包含对该子函数的调用。 (它会引发一个在我的开发环境中根本无法修复的错误)
当我对它运行测试时,从这个控制器操作中省略这个子函数调用的最佳方法是什么?
谢谢。
【问题讨论】:
标签: ruby-on-rails testing rspec functional-testing
您可以像这样在 rspec 测试的 before 块中为该函数存根该子函数调用
describe "test for the main_action"
before(:each) do
controller.stub!(:sub_action).returns(true)
end
end
那么您的任何测试示例都不会真正调用此 sub_action。
仅出于语义考虑,Rspec 始终在测试环境中而不是在开发环境中运行,但我收集了您的意思。
【讨论】:
controller.stub!吗?