我应该在rails中测试交叉模型逻辑?

时间:2012-08-03 19:23:10

标签: ruby-on-rails testing rspec models multiple-models

该软件

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

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

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

关于如何使用rspec进行测试的问题

我已经有了代码,但现在想要添加测试,例如确保在使用相同的关键字添加其他产品时,该关键字的相应ReverseIndex条目将使用产品ID进行更新,并且在删除产品时,ReverseIndex条目中的产品参考也是如此。

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

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

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

感谢您的帮助。

0 个答案:

没有答案