我正在测试一个方法,该方法接受表示数据库中对象的标记,然后检索它。
我正在尝试使用rspec进行测试。我该如何首先将该对象插入数据库?我知道我应该嘲笑它,但是当我这样做时,我怎么能让那个方法访问那个模拟而不是点击数据库(就像它写的那样)?
答案 0 :(得分:0)
存根检索方法以返回您想要的模拟。或者您可以将其插入数据库,检索它,然后存根检索方法以获取刚刚检索到的对象。它可能更简单,只是检索对象而不是捣乱模拟,特别是如果它真的是复杂的SQL或者正在获取对象的东西(这可能是更重要的测试逻辑)。