我希望能够运行单个规范文件的测试—例如,对于我正在编辑的一个文件。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标记方法。
我使用标记在不同的文件中运行一个或多个规范——只运行与当前开发任务相关的规范。
例如,我添加了标签“dev”,值为“current”:
it "creates an user", dev: :current do
user = create(:user)
expect(user.persisted?).to be_truthy
end
然后我就跑
bundle exec rspec . --tag dev:current
可以在单个规格或组中设置不同的标签/值。