繁体   English   中英

如何在Rails控制台中重现Rails单元测试(有关路线的错误)

How to reproduce Rails unit tests in the Rails console (error about routes)

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我是一位经验丰富的程序员,但是是Ruby和Rails的新手。 我想尝试为现有项目构建新测试,所以我认为一个好的开始方法是在Rails控制台中逐行复制现有测试。 但是,我无法使其工作。

正如这个问题所暗示的那样,我转到了项目的主目录并执行了以下操作:

$ rails console -e test
Loading test environment (Rails 5.2.0)
irb(main):001:0> require './test/test_helper'
[Coveralls] Set up the SimpleCov formatter.
[Coveralls] Using SimpleCov's 'rails' settings.
   (1.0ms)  SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
=> true

到现在为止还挺好。 但是我仍然无法加载实际的测试模块:

irb(main):002:0> require './test/controllers/users_controller_test'
Traceback (most recent call last):
        2: from (irb):2
        1: from test/controllers/users_controller_test.rb:1:in `<top (required)>'
LoadError (cannot load such file -- test_helper)

因此,我尝试按如下所示调整$ LOAD_PATH,这似乎可行:

irb(main):003:0> $LOAD_PATH.unshift '/{{absolute path to project}}/test'
{{irb now prints the new $LOAD_PATH which is really long}}
irb(main):004:0> require './test/controllers/users_controller_test'                         
=> true

但是,当我尝试运行实际测试时,它仍然无法正常工作。 看起来像是某种卸载的“路线”:

irb(main):008:0> my_test = UsersControllerTest.new("My Test")
=> #<UsersControllerTest:0x000055c90aadd148 @NAME="My Test", @failures=[], @assertions=0>
irb(main):009:0> my_test.test_routes
Traceback (most recent call last):
        2: from (irb):9
        1: from test/controllers/users_controller_test.rb:11:in `test_routes'
NoMethodError (undefined method `recognize_path' for nil:NilClass)
irb(main):010:0> my_test.test_new_view
Traceback (most recent call last):
        2: from (irb):10
        1: from test/controllers/users_controller_test.rb:191:in `test_new_view'
RuntimeError (@routes is nil: make sure you set it in your test's setup method.)

有没有更简单的方法可以从控制台运行测试? 如何解决缺少的“路线”,以便可以从Rails控制台运行测试? 还是我的目标不明智?

问题暂未有回复.您可以查看右边的相关问题.
2 如何在控制台中测试Rails类功能?

我正在尝试在rails控制台的Rails类中测试某些功能。 因此,在Rails控制台中,我试图查看这些功能是否正常运行,但我一直遇到以下错误。 最终,我需要检查一下function1(在更大的工作流程中肯定是失败的),但似乎甚至无法识别它依赖于同一类中的功能。 顺便说一句, ...

5 在 Rails 控制台中执行 rspec 测试

假设我的 User 模型有一个 user_spec.rb,我想在 rails 控制台中运行该测试。 我的第一个想法是执行通常的 shell 命令: 但是有没有更简单的方法来运行规范? 我正在尝试自动化一些测试(并重新发明轮子,是的),因此能够在另一个 Ruby 类中触发 rspec 测试似乎是 ...

9 如何在Rails控制台中输入多行

如何将多行代码输入rails控制台? - 试图解决问题 - 编辑 - 我想尝试使用collect方法,并想在rails控制台中尝试以下代码: 并且很难让它执行。 我试过了: 也许我在用.collect做错了什么? ...

10 Rails,rails控制台中的一对多关系错误

我需要在我的“老师”模型和我的“机器人”模型之间建立一对多的关系。 每位老师都有很多机器人,但每个机器人只有一位老师。 我以为我已经正确设置但是当我尝试在rails控制台中使用它时输入以下内容: 其中teacher1是有效的教师,robot1和robot2都是有效的机器人,产生此 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM