2

该软件

我在我创建的 Rails 3.2 应用程序中有一些模型。粗略地说,关键模型是公司、产品和 ReverseIndex。正如您可能猜到的那样,公司有多种产品。产品有一些属性关键字。

我已经创建了 ReverseIndex,它对于给定的关键字有一个产品 ID 列表。这样我可以通过关键字快速查找产品。

使用 after_save 回调更新产品时会更新 ReverseIndex,以确保事情保持同步。

关于如何用 rspec 测试它的问题

我已经让代码工作了,但现在想添加测试,例如,确保当使用相同的关键字添加其他产品时,该关键字的相应 ReverseIndex 条目会使用产品的 id 更新,并且当产品被删除时,产品也会更新来自 ReverseIndex 条目的引用。

我正在使用 rspec 进行测试。这个问题与模型有关,逻辑在模型类中。然而,这似乎更像是系统行为而不是模型单元测试。由于它使用 after_save 和模型中的方法,因此它与控制器无关。

我怀疑这更多是功能测试的问题——尽管我真的想确认基本的模型行为。(问题是我需要先创建两个产品,然后进行测试,然后添加第三个已经使用关键字的产品。)也许可以(并且应该)使用 rspec)为此,我只是对适当的方式不够熟悉去做吧。

有什么想法吗?我将如何使用 rspec 执行此操作,还是应该使用替代测试方法?

4

0 回答 0