在我们的一个rails(3.2)模块中,有条件include
:
include UsersHelper if find_config_const('allow_sales_manage_customer_login') == 'true'
此处find_config_const
是一种搜索表格以查找allow_sales_manage_customer_login
值的方法。使用rspec(版本2.14)进行测试时,模块UserHelper
必须为include
,因此find_config_const('allow_sales_manage_customer_login') == 'true'
应始终返回true。 FactoryGirl在此处不起作用,因为FactoryGirl创建的条目在include
之后加载,而find_config_const('allow_sales_manage_customer_login') == 'true'
为false。有没有办法让find_config_const('allow_sales_manage_customer_login') == 'true'
总是为rspec(ver 2.14)返回true?
答案 0 :(得分:1)
答案是使用#stub或#should_receive来存根方法。
你能告诉我find_config_const方法的定义在哪里吗?
假设它是在SomeHelper中定义的。你可以这样做:
SomeHelper.any_instance.stub(:find_config_const).with('allow_sales_manage_customer_login').and_return(true)