1
6
伊恩张贴
solution to using mock objects with AuthLogic
. 要重新措辞,以下帮助者将进入
我已经把它纳入我的规范,我发现它完全符合我的期望。我有为登录用户解释模拟模型的控制器规范,所以现在当我向用户添加一个字段时,它们不会全部中断。IAIN在规范中实现这一点的示例如下:
另外,我不想回答我自己的问题,但这是我一直在寻找的答案;我只是没有及早发现。 |
2
1
AuthLogic希望记录的行为类似于活动记录实例。您可以使用真实实例或模拟,但如果您使用模拟/存根,则必须确保它响应AuthLogic所需的所有方法。 我建议使用真正的活动记录对象而不是模拟对象。如果不想使用夹具,可以使用工厂。 最后一个选项是传递一个模拟,它响应任何方法(您可以很容易地通过缺少方法来完成这一点)。该解决方案的问题在于,您不预先知道应该返回任何特定方法调用的值。 是的,你可以传递错误,但这不是真正的解决方案。它需要手动尝试/添加一个默认值,直到您找到响应所有AuthLogic请求的模拟对象。但这将要求您不断地遵循AuthLogic进行任何内部更改,以修复对存根的未应答呼叫。 |
3
1
在Rails 3中,用户会话的模拟不再有效,因为AuthLogic的用户会话不是ActiveRecord::Base的实例。解决我的问题:
|
4
0
我发现模仿AuthLogic对象很难,我最终放弃了模仿。相反,我现在使用生成器方法 object daddy . 我的功能测试现在好多了。顺便说一句, shoulda +物体爸爸绝对是石头。Shoulda的事务上下文应该确保我的测试数据库保持干净,并且一开始我不必模拟简单的ActiveRecord对象。 |
Tran Nicas · Symfony4条令不更新数据库 6 年前 |
vipfafen · 多个控制器-初学者指南 6 年前 |
Timur · 如何通过sapui5中的控制器过滤列表 6 年前 |