I have a few sets of rspecs that all include some shared examples. I would like those shared examples to then include other shared examples, if the original spec had some variable set. Basically this is what I'm trying to do.
Example:
File: spec/test_spec.rb
describe 'some thing' do
let(:some_feature) { true }
describe 'some tests' do
include_examples "shared_tests"
end
end
File spec/shared/shared_tests.rb
shared_examples_for "shared_tests" do
include_examples "feature_specific_tests" if some_feature
end
As expected, this is throwing an error like this:
undefined local variable or method `some_feature`
Is there a way to do this? I thought perhaps I could define @some_feature in a before(:all) block and then use if @some_feature in the shared_examples, but that is always nil.