एक संदर्भ में अस्थायी रूप से निजी तरीकों को सार्वजनिक करने के लिए आरपीईसी-संदर्भ-निजी रत्न का उपयोग करें ।
gem 'rspec-context-private'
यह आपके प्रोजेक्ट में एक साझा संदर्भ जोड़कर काम करता है।
RSpec.shared_context 'private', private: true do
before :all do
described_class.class_eval do
@original_private_instance_methods = private_instance_methods
public *@original_private_instance_methods
end
end
after :all do
described_class.class_eval do
private *@original_private_instance_methods
end
end
end
फिर, यदि आप :private
किसी describe
खंड में मेटाडेटा के रूप में पास करते हैं, तो उस संदर्भ में निजी विधियाँ सार्वजनिक होंगी।
describe AccountController, :private do
it 'can test private methods' do
expect{subject.current_account}.not_to raise_error
end
end