我希望能够运行单个规范文件的测试—例如,对于我正在编辑的一个文件。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 path/to/spec:<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之间的任何数字。