RSpec:希望更改多个
在功能说明中提交表单时,我想检查模型中的许多更改。例如,我要确保将用户名从X更改为Y,并且将加密密码更改为任何值。 我知道已经有一些问题了,但是我没有找到合适的答案。最准确的答案似乎ChangeMultiple是迈克尔·约翰斯顿(Michael Johnston)的匹配者:RSpec是否有可能期望在两个表中进行更改?。它的缺点是只能检查从已知值到已知值的显式更改。 我创建了一些伪代码,说明我认为更好的匹配器看起来像: expect { click_button 'Save' }.to change_multiple { @user.reload }.with_expectations( name: {from: 'donald', to: 'gustav'}, updated_at: {by: 4}, great_field: {by_at_leaset: 23}, encrypted_password: true, # Must change created_at: false, # Must not change some_other_field: nil # Doesn't matter, but want to denote here that this field exists ) …