在开始之前,我使用带有 rspec、shouda-matchers 和 factorygirl 的 rails 来简化测试,所以如果这些库包含有助于解决以下问题的内容,请告诉我。
我正在设计我的控制器和模型,但不确定如何测试这种情况。
我有一个游戏模型,它可以包含一堆玩家。只有在游戏还没有开始的情况下才能移除玩家,所以我在我的游戏模型中添加了一个 remove_player 方法并对其进行了彻底的测试。
在我的播放器控制器中,我有调用 remove_player 方法的删除操作来实际完成工作,然后该操作导致重定向。
如何在不重新测试方法的情况下测试控制器实际上正在做它应该做的事情(调用 remove_player)?我可以测试进行重定向,但如果将来删除对 remove_player 的调用,这不会失败。
我知道 shoulda-matchers 有“should_validate_presence_of”之类的东西,这与这个测试背后的想法相同,但不适用于我自己的方法。