0
我正在研究一個Ruby腳本,以解決從應用程序意外刪除的用戶,該應用程序會在刪除前克隆用戶記錄和UserGroups。如何遍歷數組並檢查屬性是否匹配
我正在通過這兩個對象循環,現在試圖找出如何斷言屬性匹配。
我試圖
assert_equal archived_user_groups, deleted_user_groups
但就是斷言對象沒有屬性,因此它失敗。
我試圖循環訪問數組,並檢查屬性(user_id,group_id)對於相同索引(0,1,2,...)處的每個對象是否相同。是each_with_index
適合這個,它將如何實施?
archived_user_groups_test.rb:
def test_user_with_user_groups
user = users(:employee_bb)
deleted_user_groups = user.user_groups.sort_by{ |u| [u.user_id, u.group_id] }
user.archive!
archived_user_groups = ArchivedUserGroup.where(user_id: user.id).sort_by{ |u| [u.user_id, u.group_id] }
deleted_user_groups.each do |ug|
archived_user_groups.find do |attribute_names, attribute_values|
assert_equal archived_user_groups, deleted_user_groups
end
end
end
'archived_user'應該是'archived_user_groups'嗎?因爲'archived_user'沒有在任何地方定義。這有點凌駕於我的頭上,因此我試圖將其分解,但一眼就看出它拋出未定義的方法「屬性」。 – VegaStudios
@VegaStudios我的壞在那裏有一個錯字刪除'archived_user_groups'周圍的數組 –
Minitest使用'expect',還是RSpec方法? – VegaStudios