加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 使用RSpec / FactoryGirl设置嵌套关联的最佳方

发布时间:2020-12-16 21:06:02 所属栏目:百科 来源:网络整理
导读:我正在尝试为Rails应用程序构建测试套件,我不确定如何使用FactoryGirl构建对象(如果需要,我可以移动到不同的工具). 棘手的部分是有深层嵌套关联,让我们举例说明这个模式的一部分:http://imgur.com/HAUS7kr 假设我想对“ItemTracker”模型进行一些测试.现在
我正在尝试为Rails应用程序构建测试套件,我不确定如何使用FactoryGirl构建对象(如果需要,我可以移动到不同的工具).

棘手的部分是有深层嵌套关联,让我们举例说明这个模式的一部分:http://imgur.com/HAUS7kr

假设我想对“ItemTracker”模型进行一些测试.现在有两种方法:

>为了拥有一个有效的对象,我需要构建一个需要一个Token的Connexion,它需要一个Project等等.另外,我希望ProjectItem的项目与Token的项目相同.与公司相同(在顶部).我不希望创建2个不同的项目或公司.所以我需要一种方法让这些对象共享一些关联.这种方法的一个缺点是我不确定如何创建不创建多个关联对象,而且我还要构建一些我不一定需要的对象(验证除外)
>我可以说“对于这个特定的测试,这些关联是无关紧要的,所以我要创建一个没有Connexion或ProjectItem的ItemTracker,并用这个孤立的对象做我的事情”.一般来说,我只想创建我真正需要的对象和关联.通过玩特征,我发现了一种避免创建关联的方法,如果我不需要它们.缺点是这个对象不会有效(对关联有验证),所以每次我要尝试在其上保存一些东西时,我都会有一个异常,这在某些测试用例中会很痛苦.

所以我想我的问题是:在这种复杂的对象结构中设置一些对象进行测试的最佳方法是什么?

感谢您的反馈

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读