RSpec 个没有 运行 个测试的集合
RSpec collection without running tests
有没有办法触发 RSpec 测试用例收集,但不触发 运行 测试?
在 Python 的 pytest 中,相当于附加一个 --collect-only
开关。
我的用例:我想 运行 一个钩子来验证关于我们的测试用例的一些元数据,例如强制执行标记模式,并且我'我想将此验证检查作为 PR 检查包括在内。问题是,我真的不希望测试套件 运行,但我只想验证测试用例元数据。
如有任何帮助,我们将不胜感激,并提前致谢!
似乎没有内置的方式来进行收集。相反,我不得不在 spec_helper
中添加以下内容。基本上,如果将环境变量 CONTEXT=validate
传递到测试 运行 中,则跳过测试。这并不是一个很好的方法,但似乎 RSpec 没有提供内置的替代方法:
config.around(:each) do |example|
# validate test case metadata. Ensure proper folder structure and team tagging
# No need to run tests during validation, so they are skipped and left in 'pending' state
if CONTEXT == 'validate'
puts '[INFO] Skipping spec run and validating spec'
example.skip
validate_spec(example)
else
example.run
end
有没有办法触发 RSpec 测试用例收集,但不触发 运行 测试?
在 Python 的 pytest 中,相当于附加一个 --collect-only
开关。
我的用例:我想 运行 一个钩子来验证关于我们的测试用例的一些元数据,例如强制执行标记模式,并且我'我想将此验证检查作为 PR 检查包括在内。问题是,我真的不希望测试套件 运行,但我只想验证测试用例元数据。
如有任何帮助,我们将不胜感激,并提前致谢!
似乎没有内置的方式来进行收集。相反,我不得不在 spec_helper
中添加以下内容。基本上,如果将环境变量 CONTEXT=validate
传递到测试 运行 中,则跳过测试。这并不是一个很好的方法,但似乎 RSpec 没有提供内置的替代方法:
config.around(:each) do |example|
# validate test case metadata. Ensure proper folder structure and team tagging
# No need to run tests during validation, so they are skipped and left in 'pending' state
if CONTEXT == 'validate'
puts '[INFO] Skipping spec run and validating spec'
example.skip
validate_spec(example)
else
example.run
end