如何避免在find方法中对id进行“硬编码”?

UnderTaker

我如何避免在hardcoding这里的身份证?以下是我对ID 22进行硬编码的代码。

it "can find an Project that this user belongs to" do 
    project = Project.find( id: '22', authorization: @auth )        
    hashed_response = FactoryGirl.build(:project_json).marshal_dump.to_json
    expect(project.to_json).to eq(hashed_response);
end

下面是完整类的代码。

require 'spec_helper'

describe Project do

  before(:all) do
    @project = FactoryGirl.create(:project, name: "123", description: "123");
    @user =  FactoryGirl.create(:user, email: "[email protected]", password: nil, code: nil);
    user = User.login(FactoryGirl.create(:user, email: "[email protected]", 
                               password: "123", code: 0));

      if user
        @auth = user['auth']        
      end
  end

  it "can create an Project" do    
    expect{Project.create(project: @acc, user: @user)}.to 
                      change{Project.all(authorization: @auth).size}.by (1);    
  end

  it "can find an Project that this user belongs to" do 
    project = Project.find( id: '22', authorization: @auth )        
    hashed_response = FactoryGirl.build(:project_json).marshal_dump.to_json
    expect(project.to_json).to eq(hashed_response);
  end

end

我在看一些教程http://everydayrails.com/2012/04/07/testing-series-rspec-controllers.html,但是我不明白它们的传递方式。

史蒂夫·图钦

如果项目可以属于用户,则可以...

project = Project.find_by( user_id: @user.id , authorization: @auth )

如果用户可以属于一个项目,那么您应该...

project = Project.find_by( id: @user.project_id, authorization: @auth )

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何避免在JavaScript中对敏感值进行硬编码?

来自分类Dev

如何避免在Java中进行硬编码

来自分类Dev

如何避免对值进行硬编码?

来自分类Dev

如何避免使用ng-repeat对HTML中的URL名称进行硬编码

来自分类Dev

如何避免在AngularJS中对URL(或路由)进行硬编码?(提供URL解析)

来自分类Dev

如何避免对文件路径进行硬编码?

来自分类Dev

避免在PHP中对API请求进行硬编码XML

来自分类Dev

如何避免在 Paths#get 方法中硬编码完整路径

来自分类Dev

如何避免Javascript / jQuery中的硬编码,链式异步函数?

来自分类Dev

如何避免硬编码呢?在装饰器中

来自分类Dev

如何避免每个类中的硬编码WebClient重试时间

来自分类Dev

避免在mysql查询中进行硬编码

来自分类Dev

如何在javascript中调用客户端ID而不对其进行硬编码

来自分类Dev

Rails:如何对form_for中的字段进行硬编码

来自分类Dev

如何在不对ID进行硬编码的情况下访问嵌套在ID中的JSON属性?

来自分类Dev

如何在不对ID进行硬编码的情况下访问嵌套在ID中的JSON属性?

来自分类Dev

dplyr:当需要全部变量名时,如何避免对它们进行硬编码?

来自分类Dev

带有后端API的前端内容-如何避免在后端API所在的位置进行硬编码?

来自分类Dev

如何避免在CQ中所有页面链接上对.html扩展名进行硬编码?

来自分类Dev

如何避免使用程序化自动布局进行硬编码

来自分类Dev

dplyr:当需要全部变量名时,如何避免对它们进行硬编码?

来自分类Dev

避免在编辑路径助手中对资源名称进行硬编码

来自分类Dev

避免在我的apache容器脚本中对mysql容器ip进行硬编码

来自分类Dev

如何在我的Java应用程序中对Google OAuth的client_id和client_secret进行硬编码?

来自分类Dev

遵循最佳实践避免在Apex中进行硬编码

来自分类Dev

遵循最佳实践避免在Apex中进行硬编码

来自分类Dev

避免嵌套KVO键路径中的硬编码字符串的最佳方法

来自分类Dev

如何避免在Axis生成的代码中使用硬编码的url?

来自分类Dev

在基于子列表过滤列表时如何避免硬编码?

Related 相关文章

  1. 1

    如何避免在JavaScript中对敏感值进行硬编码?

  2. 2

    如何避免在Java中进行硬编码

  3. 3

    如何避免对值进行硬编码?

  4. 4

    如何避免使用ng-repeat对HTML中的URL名称进行硬编码

  5. 5

    如何避免在AngularJS中对URL(或路由)进行硬编码?(提供URL解析)

  6. 6

    如何避免对文件路径进行硬编码?

  7. 7

    避免在PHP中对API请求进行硬编码XML

  8. 8

    如何避免在 Paths#get 方法中硬编码完整路径

  9. 9

    如何避免Javascript / jQuery中的硬编码,链式异步函数?

  10. 10

    如何避免硬编码呢?在装饰器中

  11. 11

    如何避免每个类中的硬编码WebClient重试时间

  12. 12

    避免在mysql查询中进行硬编码

  13. 13

    如何在javascript中调用客户端ID而不对其进行硬编码

  14. 14

    Rails:如何对form_for中的字段进行硬编码

  15. 15

    如何在不对ID进行硬编码的情况下访问嵌套在ID中的JSON属性?

  16. 16

    如何在不对ID进行硬编码的情况下访问嵌套在ID中的JSON属性?

  17. 17

    dplyr:当需要全部变量名时,如何避免对它们进行硬编码?

  18. 18

    带有后端API的前端内容-如何避免在后端API所在的位置进行硬编码?

  19. 19

    如何避免在CQ中所有页面链接上对.html扩展名进行硬编码?

  20. 20

    如何避免使用程序化自动布局进行硬编码

  21. 21

    dplyr:当需要全部变量名时,如何避免对它们进行硬编码?

  22. 22

    避免在编辑路径助手中对资源名称进行硬编码

  23. 23

    避免在我的apache容器脚本中对mysql容器ip进行硬编码

  24. 24

    如何在我的Java应用程序中对Google OAuth的client_id和client_secret进行硬编码?

  25. 25

    遵循最佳实践避免在Apex中进行硬编码

  26. 26

    遵循最佳实践避免在Apex中进行硬编码

  27. 27

    避免嵌套KVO键路径中的硬编码字符串的最佳方法

  28. 28

    如何避免在Axis生成的代码中使用硬编码的url?

  29. 29

    在基于子列表过滤列表时如何避免硬编码?

热门标签

归档