2016-09-02 32 views
1

我們有一個啓動我們的RSpec測試的shell腳本。它看起來是這樣的:如何在命令行中指定RSpec「語法」參數?

args+=(
    "--format" "html" 
    "--out" "$to_dir/index.html" 
) 

"$rspec_dir/rspec" "${args[@]}" "$tests_to_run" 
exit $? 

當試圖升級RSpec的,我得到一個錯誤的:should語法已過時,我們需要明確地啓用它,如下所示:How to avoid deprecation warning for stub_chain in RSpec 3.0?

然而,由於我們沒有使用Rake,我需要找出通過命令行啓動rspec時執行此操作的方法。但是,當我嘗試調整像這樣的命令行選項:

./rspec --format "html" --out "index.html" --syntax ":should" 

它說--syntax是不是一個有效的選項。如何直接通過命令行調用rspec時如何啓用這個不贊成使用的語法?

(爲什麼我需要找出如何通過命令行做到這一點,我們不能用耙,因爲我們的內部構建工具不支持它,那是。)

回答

2

您不能配置RSpec的預期並在命令行中嘲諷語法。編輯項目的spec/spec_helper.rb包括以下內容:

RSpec.configure do |config| 
    config.expect_with :rspec do |expectations| 
    expectations.syntax = [:should, :expect] 
    end 
    config.mock_with :rspec do |mocks| 
    mocks.syntax = [:should, :expect] 
    end 
end 

你升級後,你可能會想改變所有的例子使用新的語法(可能與transpec),然後禁用:should語法。

這裏更多https://relishapp.com/rspec/rspec-expectations/docs/syntax-configuration這裏https://relishapp.com/rspec/rspec-mocks/docs/old-syntax/stub

+0

這是不幸的,但感謝您的回答! – Dasmowenator