然而问题是我真的很擅长测试.我正在使用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 – 如何测试设计参数消毒剂所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)