Rails 4 / RSpec - 创建我自己的自定义参数以传递给 include/exclude 来自 运行 的某些测试?
Rails 4 / RSpec - Create my own custom arguments to pass to include/exclude certain tests from running?
我的应用程序使用 Braintree 处理付款。不幸的是,fake_braintree gem 已随着当前的 braintree API 贬值,所以我不得不在我的测试中访问 braintree 沙箱服务器,这非常慢(如果有人可以帮助解决这个问题)或者推荐一个替代方案,那也很棒)。
我的问题是,我能否对所有命中 Braintree 服务器的测试进行分组或标记,而不是默认 运行 它们,并为 运行 所有测试指定一个参数,包括那些?所以理想情况下,我希望 'rspec' 命令跳过这些测试,然后 运行ning 'rspec --include-braintree' 到 运行 我所有的测试,包括那些命中 braintree 服务器的测试。
我觉得这将是一个很好的快乐媒介,所以我不会在每次 运行 我的测试套件时坐等外部 API 电话。
是的,您可以使用:
# spec/spec_helper.rb
RSpec.configure do |config|
config.filter_run_excluding braintree: true unless ENV['BRAINTREE']
end
使用标签标记测试(如果需要,也可以标记整个块):
it "does stuff", braintree: true do
end
而且您可以轻松地进行:BRAINTREE=1 rspec
到 运行 测试,包括 braintree 测试
我的应用程序使用 Braintree 处理付款。不幸的是,fake_braintree gem 已随着当前的 braintree API 贬值,所以我不得不在我的测试中访问 braintree 沙箱服务器,这非常慢(如果有人可以帮助解决这个问题)或者推荐一个替代方案,那也很棒)。
我的问题是,我能否对所有命中 Braintree 服务器的测试进行分组或标记,而不是默认 运行 它们,并为 运行 所有测试指定一个参数,包括那些?所以理想情况下,我希望 'rspec' 命令跳过这些测试,然后 运行ning 'rspec --include-braintree' 到 运行 我所有的测试,包括那些命中 braintree 服务器的测试。
我觉得这将是一个很好的快乐媒介,所以我不会在每次 运行 我的测试套件时坐等外部 API 电话。
是的,您可以使用:
# spec/spec_helper.rb
RSpec.configure do |config|
config.filter_run_excluding braintree: true unless ENV['BRAINTREE']
end
使用标签标记测试(如果需要,也可以标记整个块):
it "does stuff", braintree: true do
end
而且您可以轻松地进行:BRAINTREE=1 rspec
到 运行 测试,包括 braintree 测试