我创建了一个服务对象(http://railscasts.com/episodes/398-service-objects),它基本上创建了两个模型,A 和 B,在 B 属于 A 的位置建立它们之间的关联,并返回 A(其中反过来,您可以通过 A 访问 B 给定的关联)。
出错时,我返回一个带有错误信息的哈希。当我尝试测试此方法时,我现在遇到了一个问题,其中有两种可能的返回类型:模型(当它通过时)或带有错误信息的哈希。
这是设计错误的信号吗?我知道当您首先测试 (TDD) 时,您会避免此类设计问题。
如果这是一个问题,那么我知道我需要返回一个无效的 A 模型。假设模型 B 在创建时抛出错误,我如何仍然能够返回无效的 A 模型?
如果返回错误哈希是可以的,我还能如何设计这个方法来测试友好?