RubyMine IDE 无法在 Spec 目录中找到 Spec 文件
RubyMine IDE Cannot Find Spec Files in Spec directory
我已经将一个 Ruby 项目加载到 Ruby 我的项目中,它的规范文件位于 spec
目录中,像往常一样。右键单击并选择 'run' 在任何单个规范文件上正确 运行 。在 specs
目录上右键单击并选择 'run all' 会导致每个测试失败并显示以下消息:
Fail to load: /Users/nathaniel/repos/close-web/spec/compositions/analysis/analysis_data_spec.rb:1
Exception message: cannot load such file -- spec_helper
在启动配置中,'Tests folder' 似乎设置正确:
/Users/nathaniel/repos/close-web/spec
还有工作目录:
/Users/nathaniel/repos/close-web
Ruby 参数设置如下:
-e $stdout.sync=true;$stderr.sync=true;load([=13=]=ARGV.shift) -Itest
(在 RubyMine 网站上有一些指示需要 -Itest
。)在 Bundler 选项卡下 'Run the script in the context of the bundle' 也被选中。我不清楚还有什么 Ruby我的可能需要能够递归地查找和执行测试。 运行 它们在命令行中工作正常:
~repos/closeweb $ bundle exec rspec spec
... (all the tests running)
Finished in 6 minutes 27 seconds (files took 13.39 seconds to load)
1054 examples, 0 failures, 108 pending
这里哪里配置有问题导致所有测试都不行运行?
鉴于您的文件夹名为 spec
,而不是 test
,您需要 -Ispec
,而不是 -Itest
。
换句话说,您的 RubyMine 参数应该是:
-e $stdout.sync=true;$stderr.sync=true;load([=10=]=ARGV.shift) -Ispec
-I directory Used to tell Ruby where to load the library scripts.
Directory path will be added to the load-path variable ($:)
我已经将一个 Ruby 项目加载到 Ruby 我的项目中,它的规范文件位于 spec
目录中,像往常一样。右键单击并选择 'run' 在任何单个规范文件上正确 运行 。在 specs
目录上右键单击并选择 'run all' 会导致每个测试失败并显示以下消息:
Fail to load: /Users/nathaniel/repos/close-web/spec/compositions/analysis/analysis_data_spec.rb:1 Exception message: cannot load such file -- spec_helper
在启动配置中,'Tests folder' 似乎设置正确:
/Users/nathaniel/repos/close-web/spec
还有工作目录:
/Users/nathaniel/repos/close-web
Ruby 参数设置如下:
-e $stdout.sync=true;$stderr.sync=true;load([=13=]=ARGV.shift) -Itest
(在 RubyMine 网站上有一些指示需要 -Itest
。)在 Bundler 选项卡下 'Run the script in the context of the bundle' 也被选中。我不清楚还有什么 Ruby我的可能需要能够递归地查找和执行测试。 运行 它们在命令行中工作正常:
~repos/closeweb $ bundle exec rspec spec
... (all the tests running)
Finished in 6 minutes 27 seconds (files took 13.39 seconds to load)
1054 examples, 0 failures, 108 pending
这里哪里配置有问题导致所有测试都不行运行?
鉴于您的文件夹名为 spec
,而不是 test
,您需要 -Ispec
,而不是 -Itest
。
换句话说,您的 RubyMine 参数应该是:
-e $stdout.sync=true;$stderr.sync=true;load([=10=]=ARGV.shift) -Ispec
-I directory Used to tell Ruby where to load the library scripts.
Directory path will be added to the load-path variable ($:)