如何为FactoryGirl构建创建一个用户_ID



我是FactoryGirl,Faker和更广泛的测试的新手。

我相信我需要为FactoryGirl创建的用户添加ID,以评估用户是否可以访问某些页面和/或在某些嵌套资源上拥有所有权。我之所以质疑这一点,是因为我进行研究(Google和Check Stackoverflow),我没有看到有关为FactoryGirl创建资源生成ID的很多信息。由于我的用户带有零ID,因此我认为FactoryGirl默认值是在不添加ID的情况下构建资源。

我确实看到了有关创建关联的信息,但即使这些信息似乎不存在ID。在应用程序中,我要根据用户的ID进行检查所有对用户资源的访问。

我应该为我的FactoryGirl生成的用户创建和ID吗?如果不是,为什么不呢?我应该做什么?如果是这样,我如何生成不同的用户ID来相互检查?

事先感谢您的输入。

如果您坚持使用用户对象,则应自动分配/增量ID。您可能使用build实例化对象而不是create

user = build(:user)< - 创建对象,不保存,没有ID

user = create(:user)< ---对象是创建和保存的,具有ID

对于最佳实践,请确保您的测试在单独的数据库上运行,以免污染实时数据。您也可以查看https://github.com/databasecleaner/database_cleaner,以便在运行测试后清理测试数据的简便方法。

最新更新