TEL:400-8793-956
当前位置:程序、服务器

不推荐使用`named_routes.helpers`

提问者: 近期获赞: 浏览人数: 发布时间:2021-03-02 12:34:45

 问:当我运行rspec spec /时出现很多错误... DEPRECATION警告:named_routes.helpers已弃用,请使用route_defined?(route_name)来查看是否已定义命名路由。(从/home/swest/odot/spec/controllers/todo_lists_controller_spec.rb:156的<top(必需)>中的块(3级)中调用).... DEPRECATION警告:named_routes.helpers已弃用,请使用route_defined?(route_name)以查看是否已命名路线已定义。(来自块(4个级别中<顶部(必需)>在/home/swest/odot/spec/controllers/todo_lists_controller_spec.rb:75称呼)).......... ....... ......... ......

 
待处理:TodoListsHelper向(或删除)/home/swest/odot/spec/helpers/todo_lists_helper_spec.rb#添加一些示例#./spec/helpers/todo_lists_helper_spec.rb:14 TodoList向(添加或删除)添加一些示例/home/swest/odot/spec/models/todo_list_spec.rb#没有给出原因#./spec/models/todo_list_spec.rb:4
 
弃用警告:
 
RSpec::Core::ExampleGroup.pending在RSpec 3中,语义的变化。在RSpec 2.x中,它导致示例被跳过。在RSpec 3中,该示例仍将运行,但预计会失败,并且如果该示例通过,则将其标记为失败(而不是未决),就像处理示例中pending的块的方式一样。
 
要保持相同的跳过语义,请更改pending为skip。否则,如果您想要新的RSpec 3行为,则可以放心地忽略此警告,并继续升级到RSpec 3,而无需解决它。
 
从/home/swest/odot/spec/helpers/todo_lists_helper_spec.rb:14:in在<top中的块(必需)>中调用。
 
RSpec::Core::ExampleGroup.pending在RSpec 3中,语义的变化。在RSpec 2.x中,它导致示例被跳过。在RSpec 3中,该示例仍将运行,但预计会失败,并且如果该示例通过,则将其标记为失败(而不是未决),就像处理示例中pending的块的方式一样。
 
要保持相同的跳过语义,请更改pending为skip。否则,如果您想要新的RSpec 3行为,则可以放心地忽略此警告,并继续升级到RSpec 3,而无需解决它。
 
从/home/swest/odot/spec/models/todo_list_spec.rb:4:in在<top中的块(必需)>中调用。
 
stub_model不推荐使用。改用rspec-activemodel-mocks宝石。从/home/swest/odot/spec/views/todo_lists/edit.html.erb_spec.rb:5:在<top(必需)>的block (2 levels) in <top (required)>'. stub_model is deprecated. Use therspec-activemodel-mocksgem instead. Called from /home/swest/odot/spec/views/todo_lists/index.html.erb_spec.rb:6:in块(2个级别)中调用。 stub_model不推荐使用。改用rspec-activemodel-mocks宝石。从/home/swest/odot/spec/views/todo_lists/index.html.erb_spec.rb:10:in block (2 levels) in <top (required)>'. Too many uses of deprecated 'stub_model '. Pass--deprecation-out or setconfig.deprecation_stream`调用到文件以获取完整输出。
 
如果您需要更多关于这些弃用的回溯来确定在哪里进行必要的更改,可以配置 config.raise_errors_for_deprecations!,它将把弃用警告变成错误,从而为您提供完整的回溯。
 
总共7条弃用警告
 
在1.1秒内完成41个示例,0个失败,2个待处理
 
 
答:规格文件:require'spec_helper'
 
描述“编辑待办事项清单”
 
let!(:todo_list){TodoList.create(title:“杂货店”,描述:“杂货店列表。”)}
 
它“在单击销毁链接时成功”确实访问了“ / todo_lists”
 
在“ #todo_list _#{todo_list.id}”中执行
  click_link“销毁”
结束
Expect(页面).to_not have_content(todo_list.title)Expect(TodoList.count)
 .to eq(0)
结束
 
spec_helper.rb
 
当您运行“ rails generate rspec:install”时,此文件将复制到spec /。
ENV [“ RAILS_ENV”] || ='测试'需要File.expand_path(“ ../../ config / environment”,FILE)需要'rspec / rails'需要'capybara / rspec'
 
需要使用自定义匹配器和宏等来支持ruby文件
spec / support /及其子目录。文件匹配spec/**/*_spec.rb为
默认情况下作为规范文件运行。这意味着规范/支持中的文件到此为止
_spec.rb中的代码既是必需的,又作为规范运行,从而导致
运行两次。建议您不要将与此glob匹配的文件命名为
以_spec.rb结尾。您可以使用--pattern配置此模式
命令行或〜/ .rspec,.rspec或.rspec-local。
Dir [Rails.root.join(“ spec / support / * / .rb”)]。each {| f | 要求f}
 
在运行测试之前检查挂起的迁移。
如果您不使用ActiveRecord,则可以删除此行。
ActiveRecord :: Migration.maintain_test_schema!
 
RSpec.configure做| config | config.expose_current_running_example_as:example
 
### Mock Framework##如果您更喜欢使用mocha,flexmock或RR,请取消注释相应的行:##config.mock_with:mocha#config.mock_with:flexmock#config.mock_with:rr
 
#如果您不使用ActiveRecord或ActiveRecord固定装置config.fixture_path =“#{:: Rails.root} / spec / fixtures”,请删除此行
 
#如果您不使用ActiveRecord,或者不想在事务中运行每个#示例,请删除以下行或将false分配为true。config.use_transactional_fixtures = true
 
#如果为true,将自动推断出匿名控制器的基类。这将是#rspec-rails未来版本中的默认行为。config.infer_base_class_for_anonymous_controllers =否
 
#以随机顺序运行规格以显示表面顺序依赖性。如果您发现#订单依赖项并希望对其进行调试,则可以通过提供#种子来修复订单,该种子在每次运行后都会打印出来。#--seed 1234 config.order =“随机”
 
#RSpec Rails可以根据其文件位置自动将不同的行为混入测试#中,例如,使您能够调用get和#post中的规范spec/controllers。##您可以通过删除下面的行来禁用此行为,而是#明确标记您的规范及其类型,例如:##describe UsersController,:type =>:controller do##...#end##不同的选项功能中记录了类型,例如 #https : //relishapp.com/rspec/rspec-rails/v/3-0/docs config.infer_spec_type_from_file_location!结尾
上一篇: 我知道charset表示字符集,但我不知道是什么。这是什么意思?
下一篇: 复选框,“编辑”和“删除”按钮在新创建的项目上不起​​作用