我有一个测试套件,用于一个非常大的项目(〜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