rspec如何运行单个测试?
我已经在网上找到各种链接,但没有一个是最新的,并显示如何运行单个测试。
我有以下文件:
/spec/controllers/groups_controller_spec.rb
我在终端中使用什么命令来运行该规范,以及在哪些命令中运行命令?
我的宝石文件:
# Test ENVIRONMENT GEMS
group :development, :test do
gem "autotest"
gem "rspec-rails", "~> 2.4"
gem "cucumber-rails", ">=0.3.2"
gem "webrat", ">=0.7.2"
gem 'factory_girl_rails'
gem 'email_spec'
end
spec文件
require 'spec_helper'
describe GroupsController do
include Devise::TestHelpers
describe "GET yourgroups" do
it "should be successful and return 3 items" do
Rails.logger.info 'HAIL MARRY'
get :yourgroups, :format => :json
response.should be_success
body = JSON.parse(response.body)
body.should have(3).items # @user1 has 3 permissions to 3 groups
end
end
end
通常我会这样做:
rspec ./spec/controllers/groups_controller_spec.rb:42
其中42
代表我想要运行的测试线。
EDIT1:
你也可以使用标签。 看这里。
编辑2:
尝试:
bundle exec rspec ./spec/controllers/groups_controller_spec.rb:42
使用Rake:
rake spec SPEC=path/to/spec.rb
(信用度可以回答这个问题,去投票给他。)
编辑 (感谢@cirosantilli):要在规范中运行一个特定的场景,您必须提供与描述相匹配的正则表达式模式匹配。
rake spec SPEC=path/to/spec.rb
SPEC_OPTS="-e "should be successful and return 3 items""
你可以通过一个正则表达式来规范命令将只运行it
匹配您提供的名称块。
spec path/to/my_spec.rb -e "should be the correct answer"
链接地址: http://www.djcxy.com/p/59301.html