2015-10-10 15 views
5

मेरा परीक्षण इस तरह दिखता है को जन्म देती है:Rspec raise_error परीक्षण में विफल भले ही विधि एक त्रुटि

fail 'Unknown subscription model type!'

फिर भी Rspec इस विफलता के साथ वापस आता है:

it 'does return an error when passing a non-subscription or trial membership' do expect(helper.description_for_subscription(recurring_plan)).to raise_error(RuntimeError) end

मेरे विधि इस रिटर्न संदेश:

Failure/Error: expect(helper.description_for_subscription(recurring_plan)).to raise_error(RuntimeError) RuntimeError: Unknown subscription model type!

क्या चल रहा है ??

उत्तर

6

आप एक ब्लॉक में उम्मीद लपेट चाहिए, () के बजाय {} का उपयोग कर:

expect{ 
    helper.description_for_subscription(recurring_plan) 
}.to raise_error(RuntimeError) 

चेक उम्मीद त्रुटियाँ अनुभाग here

+0

वाह, मैं विश्वास नहीं कर सकता कि काम किया। यह भी अलग क्यों करता है? मेरे सभी अन्य परीक्षण उम्मीद() का उपयोग करते हैं और वे सभी काम करते हैं। जो भी हो धन्यवाद! –

+0

जिस तरह से मैं इसके बारे में सोचता हूं वह तब होता है जब आप एक मूल्य का परीक्षण कर रहे हैं, जैसे 'उम्मीद (ए) == बी', आप '()' का उपयोग करते हैं। जब आप किसी लेनदेन के परिणाम का परीक्षण कर रहे होते हैं, तो आप '{}' वाले ब्लॉक का उपयोग करते हैं। इसका उपयोग ज्यादातर परीक्षण ** ** या ** अवलोकन ** को बदलने के लिए किया जाता है। उत्तर में शामिल दस्तावेज की जांच करें – AbM

संबंधित मुद्दे