ruby-on-rails – 如何测试设计参数消毒剂
发布时间:2020-12-17 02:05:39 所属栏目:百科 来源:网络整理
导读:我已经实现了下面的代码,所以我可以通过强参数更新用户属性.它直接来自devise的文档,我理解得很好. 然而问题是我真的很擅长测试.我正在使用SimpleCov,它告诉我u.permit位没有被覆盖.不幸的是,我不太确定如何测试这个. 我正在使用rspec,我想知道是否有人能指
我已经实现了下面的代码,所以我可以通过强参数更新用户属性.它直接来自devise的文档,我理解得很好.
然而问题是我真的很擅长测试.我正在使用SimpleCov,它告诉我u.permit位没有被覆盖.不幸的是,我不太确定如何测试这个. 我正在使用rspec,我想知道是否有人能指出我正确的方向. 我该如何测试呢? devise_parameter_sanitizer.for(:account_update) do |u| u.permit(:username,:email,:password,:password_confirmation) end 解决方法
假设您想使用单元测试对此进行测试,并且在方法定义中包含此代码,则可以模拟对象并存根某些方法.
也就是说,我不认为单元测试适合于此(nor does betterspec.org). 由于此代码依赖于第三方库,我认为这是您应该使用集成测试的地方.因此,我将通过测试使用此代码的更高级别概念来解决此问题;在不知道代码的作用的情况下,我会假设帐户创建和帐户更新.假设这两个场景是使用代码的实例,我会为这两个用例创建功能或请求测试. Thoughtbot有一个关于使用Rspec和Caypbara进行功能测试的great blog post. Rspec relish文档涵盖了feature specs和request specs. 如果我在你的鞋子里,我会跳过请求规范并专注于功能规格,但我只是单元测试和高级功能测试的忠实粉丝. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |