Webmock compatibility
zedtux opened this issue · 0 comments
zedtux commented
I added the webmock gem to my Gemfile
, I ran bundle
and finally created the features/support/webmock.rb
file with the following:
require 'webmock/cucumber'
Running the tests using $(which bundle) exec cucumber -p ios
failed with the following :
Real HTTP connections are disabled. Unregistered request: POST http://127.0.0.1:37265/exit with body '{"post_resign_active_delay":0.4,"post_will_terminate_delay":0.4,"exit_code":0}' with headers {'Accept'=>'*/*', 'Content-Type'=>'application/x-www-form-urlencoded', 'Date'=>'Fri, 08 Jun 2018 12:55:16 GMT', 'User-Agent'=>'HTTPClient/1.0 (2.8.3, ruby 2.4.1 (2017-03-22))'}
You can stub this request with the following snippet:
stub_request(:post, "http://127.0.0.1:37265/exit").
with(
body: {"{\"post_resign_active_delay\":0.4,\"post_will_terminate_delay\":0.4,\"exit_code\":0}"=>nil},
headers: {
'Accept'=>'*/*',
'Content-Type'=>'application/x-www-form-urlencoded',
'Date'=>'Fri, 08 Jun 2018 12:55:16 GMT',
'User-Agent'=>'HTTPClient/1.0 (2.8.3, ruby 2.4.1 (2017-03-22))'
}).
to_return(status: 200, body: "", headers: {})
============================================================ (WebMock::NetConnectNotAllowedError)
./features/support/ios/01_launch.rb:41:in `After'
Nice !
I updated the features/support/webmock.rb
file as the following :
require 'webmock/cucumber'
WebMock.disable_net_connect!(allow_localhost: true)
But now when I run again the tests, it is failing with :
Can't convert String into Hash. (TypeError)
./features/support/ios/01_launch.rb:28:in `Before'
It would mean Calabash isn't compatible with WebMock