2016-12-14 96 views
0

我是FactoryGirl,Faker和更廣泛的測試新手。如何爲FactoryGirl構建創建user_id?

我相信我需要向FactoryGirl創建的用戶添加一個ID,以評估用戶是否可以訪問某些頁面和/或對某些嵌套資源擁有所有權。我質疑這一點,因爲我研究(谷歌和檢查StackOverflow)我沒有看到關於爲FactoryGirl創建的資源生成ID的很多信息。由於我的用戶自帶ID爲零,我假設FactoryGirl默認是在不添加ID的情況下構建資源。

我確實看到了關於創建關聯的信息,但即使那些似乎沒有ID也可以。在應用程序中,我將創建對用戶資源的所有訪問權限,並根據用戶的ID進行檢查。

我應該爲我的FactoryGirl生成的用戶創建和ID嗎? 如果不是,爲什麼不呢?我該怎麼做呢? 如果是這樣,我該如何生成不同的用戶ID來檢查對方?

在此先感謝您的意見。

回答

2

如果您要保留用戶對象,則應自動分配/增加ID。有可能您使用build來實例化對象而不是create

user = build(:user) < - 對象被創建,不保存,沒有ID

user = create(:user) < ---對象被創建並保存,具有ID

對於最佳實踐,確保您的測試是在一個單獨運行數據庫,這樣你就不會污染你的實時數據。您也可以檢查出https://github.com/DatabaseCleaner/database_cleaner,以便在測試運行後清除測試數據。

+0

謝謝,這讓我非常感覺,我不知道現在我是如何錯過它的。 – Lenocam

相關問題