ruby-on-rails – 如何测试设计参数消毒剂

ruby-on-rails – 如何测试设计参数消毒剂,第1张

概述我已经实现了下面的代码,所以我可以通过强参数更新用户属性.它直接来自devise的文档,我理解得很好. 然而问题是我真的很擅长测试.我正在使用SimpleCov,它告诉我u.permit位没有被覆盖.不幸的是,我不太确定如何测试这个. 我正在使用rspec,我想知道是否有人能指出我正确的方向. 我该如何测试呢? devise_parameter_sanitizer.for(:account_upd 我已经实现了下面的代码,所以我可以通过强参数更新用户属性.它直接来自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.

如果我在你的鞋子里,我会跳过请求规范并专注于功能规格,但我只是单元测试和高级功能测试的忠实粉丝.

总结

以上是内存溢出为你收集整理的ruby-on-rails – 如何测试设计参数消毒剂全部内容,希望文章能够帮你解决ruby-on-rails – 如何测试设计参数消毒剂所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1269181.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存