Yep, the allow only lasts until the end of the test, in your next test set
the code to 404 to test the other value.

On Thursday, 3 March 2016, Ryman <[email protected]> wrote:

>  Thanks Jon, sorry my bad English. The `allow(controller).to
> receive(:verify_sms_code) { { ‘code’ => 200 } }` only sets the create
> action returns {'code':200} ,but I want to let `verify_sms_code` method
> returns {'code':200} or {'code': 404} ,so that I can test create action
> with `verify_sms_code` method different returns
>
> 在 2016年3月3日星期四 UTC+8上午8:17:55,Jon Rowe写道:
>>
>> Assuming you’re doing a controller spec you could do something like
>> `allow(controller).to receive(:verify_sms_code) { { ‘code’ => 200 } }`
>>
>> Jon Rowe
>> ---------------------------
>> [email protected]
>> jonrowe.co.uk
>>
>> On Wednesday, 2 March 2016 at 18:43, Ryman wrote:
>>
>> class SessionsController < ApplicationController::Base
>>   def create
>>       result = verify_sms_code(params[:session][:phone], 
>> params[:session][:code]
>>        if result['code'] == 200
>>          render json: {code: 200, msg: 'success'}
>>        else
>>          render json: {code: 404, msg: 'failed'}
>>        end
>>     end
>> end
>>
>>
>> I want to mock verify_sms_code method returns JSON result,e.g
>> {'code':200, data:'correct'} or {'code':404, data:'incorrect'} ,how can I
>> test this action with verify_sms_code method different return values?
>> Thanks!
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "rspec" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/rspec/848b2139-5848-4b41-a471-6c42085fe5df%40googlegroups.com
>> <https://groups.google.com/d/msgid/rspec/848b2139-5848-4b41-a471-6c42085fe5df%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>> --
> You received this message because you are subscribed to the Google Groups
> "rspec" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected]
> <javascript:_e(%7B%7D,'cvml','rspec%[email protected]');>.
> To post to this group, send email to [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/rspec/8410970d-fd70-48e4-9c93-87ef958c8496%40googlegroups.com
> <https://groups.google.com/d/msgid/rspec/8410970d-fd70-48e4-9c93-87ef958c8496%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"rspec" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rspec/CAEGxe4vwP%2B53%3DB4eEM50EXEiAPerVvDpSSzPU4nj8FpXpBS9sw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to