你如何在RSpec中运行单个测试/ spec文件?

例如,我希望能够运行单个spec文件的测试 - 对于我正在编辑的一个文件。 rake spec执行所有规格。 我的项目不是Rails项目,所以rake spec:doc不起作用。

不知道这是否重要,但这里是我的目录结构。

./Rakefile
./lib
./lib/cushion.rb
./lib/cushion
./lib/cushion/doc.rb
./lib/cushion/db.rb
./spec
./spec/spec.opts
./spec/spec_helper.rb
./spec/db_spec.rb

或者你可以跳过耙子并使用'rspec'命令:

rspec path/to/spec/file.rb

在你的情况下,我认为只要你的./spec/db_spec.rb文件包含适当的助手,它应该可以正常工作。

如果你使用的是旧版本的rspec,它是:

spec path/to/spec/file.rb

原始调用:

rake spec SPEC=spec/controllers/sessions_controller_spec.rb 
          SPEC_OPTS="-e "should log in with cookie""

现在弄清楚如何将它嵌入到你的编辑器中。


这个问题是一个古老的问题,但它在搜索如何运行单个测试时出现在Google的顶部。 我不知道这是否是最近的新增功能,但要运行一个测试,您可以执行以下操作:

rspec path/to/spec:<line number>

其中-line number-是包含部分测试的行号。 例如,如果您有像以下这样的规格:

1: 
2: it "should be awesome" do
3:   foo = 3
4:   foo.should eq(3)
5: end
6:

假设它保存在spec / models / foo_spec.rb中。 然后你会运行:

rspec spec/models/foo_spec.rb:2

它只会运行一个规范。 事实上,这个数字可以是2到5之间的任何数字。

希望这可以帮助!

链接地址: http://www.djcxy.com/p/59291.html

上一篇: How do you run a single test/spec file in RSpec?

下一篇: can I use multiple exclusion filters in rspec?