我有一個測試套件,用於一個非常大的項目(〜3800個獨立示例),我正在從RSpec 2.14更新到3.6。我可以獲得RSpec只運行更改的規格嗎?
我剛剛爲s/be_true/be true/
運行了一個replace-all,但其中一些應該是be_truthy
而不是這些規格。
我可以提取改線從git diff
- 用一點點工作 - 但是我需要將這些反饋到RSpec的的config.filter_run
,它似乎不喜歡我這樣做,對於locations
過濾器(一啓動的時候你在命令行中指定rspec path/to/file:line
);它說「All examples were filtered out; ignoring {:locations=>...}
」。
我也可以example.run unless example.location.in? changed_specs
在around
過濾器,但這種skip
一切都是別人然後將其標記爲pending
,而不是完全忽略他們。並且與run_all_when_everything_filtered
的其他過濾器不一致。 (可能是因爲example.location
指的是測試的最上面一行,但更改是在下面幾行)
而且我似乎無法使用它將標記添加到example.metadata
然後將其過濾掉,無論是。
編輯:我也不想在命令行中指定它們,因爲我的測試運行在rerun
之下,它繼續運行相同的命令。
還有什麼想法?
嗯。不錯,但(1)我寧願指定行號以及(2)我希望我的'spec_helper'提取相關規範,因爲 - 我原來忽略了提及 - 我在rspec下運行' rerun'。 – PJSCopeland