How to patch requests.get from a different file in pythonHow do I check whether a file exists without exceptions?How do I copy a file in Python?What is the difference between Python's list methods append and extend?How can I safely create a nested directory?How to get the current time in PythonHow can I make a time delay in Python?How do I concatenate two lists in Python?How do I list all files of a directory?How to read a file line-by-line into a list?How do you append to a file in Python?
The Planck constant for mathematicians
Do ibuprofen or paracetamol cause hearing loss?
Resume: How to quantify my contributions as a software engineer?
Do all humans have an identical nucleotide sequence for certain proteins, e.g haemoglobin?
I asked for a graduate student position from a professor. He replied "welcome". What does that mean?
Have there been any countries that voted themselves out of existence?
Do my friendships grow, even if I cannot progress the story?
Why island and not light?
How seriously should I take a CBP interview where I was told I have a red flag and could only stay for 30 days?
Why is the Digital 0 not 0V in computer systems?
Linear Programming with additional "if-then"/"Default to zero" constraints?
Telling my mother that I have anorexia without panicking her
Does a gnoll speak both Gnoll and Abyssal, or is Gnoll a dialect of Abyssal?
Should I leave the first authorship of our paper to the student who did the project whereas I solved it?
Is low emotional intelligence associated with right-wing and prejudiced attitudes?
Writing a love interest for my hero
Parallel resistance in electric circuits
A shy person in a queue
Can I disable a battery powered device by reversing half of its batteries?
Job offer without any details but asking me to withdraw other applications - is it normal?
Leaving out pronouns in informal conversation
Why would "an mule" be used instead of "a mule"?
How can a Scotland-NI bridge break Brexit impasse?
Align equations to start in the same position
How to patch requests.get from a different file in python
How do I check whether a file exists without exceptions?How do I copy a file in Python?What is the difference between Python's list methods append and extend?How can I safely create a nested directory?How to get the current time in PythonHow can I make a time delay in Python?How do I concatenate two lists in Python?How do I list all files of a directory?How to read a file line-by-line into a list?How do you append to a file in Python?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I have 2 python files: 1 for unit testing (tests.py) and 1 for the script I want to test (main.py):
# In main.py:
import requests
def get_response(url):
response = requests.get(url);
# Do stuff...
return response
-
# In tests.py
from unittest import mock
from unittest.mock import patch
from my_project.main import get_response
def some_handler(url):
return "test_response"
class GetResponseTestCase(unittest.TestCase):
def setUp(self):
# setup mocks
patch('requests.get', mock.Mock(side_effect=some_handler)
def run_test(self):
result = get_response("test_response")
I want to patch requests.get
to return test_response
but the patching is not working because it tries to send a request/make a connection to the url supplied. I think the patch name requests.get
is not targeting the place it is being used in main.py (as it is referring to where it is defined instead) as some people have mentioned online. But in this scenario I am not sure how to fix this.
If import requests
is being used in main.py then how can I patch it from another file? Thanks.
python unit-testing mocking patch
add a comment
|
I have 2 python files: 1 for unit testing (tests.py) and 1 for the script I want to test (main.py):
# In main.py:
import requests
def get_response(url):
response = requests.get(url);
# Do stuff...
return response
-
# In tests.py
from unittest import mock
from unittest.mock import patch
from my_project.main import get_response
def some_handler(url):
return "test_response"
class GetResponseTestCase(unittest.TestCase):
def setUp(self):
# setup mocks
patch('requests.get', mock.Mock(side_effect=some_handler)
def run_test(self):
result = get_response("test_response")
I want to patch requests.get
to return test_response
but the patching is not working because it tries to send a request/make a connection to the url supplied. I think the patch name requests.get
is not targeting the place it is being used in main.py (as it is referring to where it is defined instead) as some people have mentioned online. But in this scenario I am not sure how to fix this.
If import requests
is being used in main.py then how can I patch it from another file? Thanks.
python unit-testing mocking patch
add a comment
|
I have 2 python files: 1 for unit testing (tests.py) and 1 for the script I want to test (main.py):
# In main.py:
import requests
def get_response(url):
response = requests.get(url);
# Do stuff...
return response
-
# In tests.py
from unittest import mock
from unittest.mock import patch
from my_project.main import get_response
def some_handler(url):
return "test_response"
class GetResponseTestCase(unittest.TestCase):
def setUp(self):
# setup mocks
patch('requests.get', mock.Mock(side_effect=some_handler)
def run_test(self):
result = get_response("test_response")
I want to patch requests.get
to return test_response
but the patching is not working because it tries to send a request/make a connection to the url supplied. I think the patch name requests.get
is not targeting the place it is being used in main.py (as it is referring to where it is defined instead) as some people have mentioned online. But in this scenario I am not sure how to fix this.
If import requests
is being used in main.py then how can I patch it from another file? Thanks.
python unit-testing mocking patch
I have 2 python files: 1 for unit testing (tests.py) and 1 for the script I want to test (main.py):
# In main.py:
import requests
def get_response(url):
response = requests.get(url);
# Do stuff...
return response
-
# In tests.py
from unittest import mock
from unittest.mock import patch
from my_project.main import get_response
def some_handler(url):
return "test_response"
class GetResponseTestCase(unittest.TestCase):
def setUp(self):
# setup mocks
patch('requests.get', mock.Mock(side_effect=some_handler)
def run_test(self):
result = get_response("test_response")
I want to patch requests.get
to return test_response
but the patching is not working because it tries to send a request/make a connection to the url supplied. I think the patch name requests.get
is not targeting the place it is being used in main.py (as it is referring to where it is defined instead) as some people have mentioned online. But in this scenario I am not sure how to fix this.
If import requests
is being used in main.py then how can I patch it from another file? Thanks.
python unit-testing mocking patch
python unit-testing mocking patch
asked Mar 28 at 9:46
MayronMayron
7752 gold badges11 silver badges27 bronze badges
7752 gold badges11 silver badges27 bronze badges
add a comment
|
add a comment
|
2 Answers
2
active
oldest
votes
- Mock get_reponse instead of mocking requests.get(mocking in-built functions;whi le being possible in python is not needed for such a simple usecase).
- Set return value of mocked get_response function to "test_response".
In tests.py
from unittest import mock
class GetResponseTestCase(unittest.TestCase):
@mock.patch("my_project.main.get_response") ##mocking get_response
def run_test(self, mocked_get_response):
mocked_get_response.return_value = "test_response" ## setting return value
add a comment
|
Found that I need to add .start()
at the end of the call to creating the patch:
# setup mocks
patch('requests.get', mock.Mock(side_effect=some_handler).start()
If there are any issues with this solution, or a better way for handling this, I would love to hear it!
add a comment
|
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55394496%2fhow-to-patch-requests-get-from-a-different-file-in-python%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
- Mock get_reponse instead of mocking requests.get(mocking in-built functions;whi le being possible in python is not needed for such a simple usecase).
- Set return value of mocked get_response function to "test_response".
In tests.py
from unittest import mock
class GetResponseTestCase(unittest.TestCase):
@mock.patch("my_project.main.get_response") ##mocking get_response
def run_test(self, mocked_get_response):
mocked_get_response.return_value = "test_response" ## setting return value
add a comment
|
- Mock get_reponse instead of mocking requests.get(mocking in-built functions;whi le being possible in python is not needed for such a simple usecase).
- Set return value of mocked get_response function to "test_response".
In tests.py
from unittest import mock
class GetResponseTestCase(unittest.TestCase):
@mock.patch("my_project.main.get_response") ##mocking get_response
def run_test(self, mocked_get_response):
mocked_get_response.return_value = "test_response" ## setting return value
add a comment
|
- Mock get_reponse instead of mocking requests.get(mocking in-built functions;whi le being possible in python is not needed for such a simple usecase).
- Set return value of mocked get_response function to "test_response".
In tests.py
from unittest import mock
class GetResponseTestCase(unittest.TestCase):
@mock.patch("my_project.main.get_response") ##mocking get_response
def run_test(self, mocked_get_response):
mocked_get_response.return_value = "test_response" ## setting return value
- Mock get_reponse instead of mocking requests.get(mocking in-built functions;whi le being possible in python is not needed for such a simple usecase).
- Set return value of mocked get_response function to "test_response".
In tests.py
from unittest import mock
class GetResponseTestCase(unittest.TestCase):
@mock.patch("my_project.main.get_response") ##mocking get_response
def run_test(self, mocked_get_response):
mocked_get_response.return_value = "test_response" ## setting return value
answered Mar 28 at 19:22
ashutosh singhashutosh singh
3407 bronze badges
3407 bronze badges
add a comment
|
add a comment
|
Found that I need to add .start()
at the end of the call to creating the patch:
# setup mocks
patch('requests.get', mock.Mock(side_effect=some_handler).start()
If there are any issues with this solution, or a better way for handling this, I would love to hear it!
add a comment
|
Found that I need to add .start()
at the end of the call to creating the patch:
# setup mocks
patch('requests.get', mock.Mock(side_effect=some_handler).start()
If there are any issues with this solution, or a better way for handling this, I would love to hear it!
add a comment
|
Found that I need to add .start()
at the end of the call to creating the patch:
# setup mocks
patch('requests.get', mock.Mock(side_effect=some_handler).start()
If there are any issues with this solution, or a better way for handling this, I would love to hear it!
Found that I need to add .start()
at the end of the call to creating the patch:
# setup mocks
patch('requests.get', mock.Mock(side_effect=some_handler).start()
If there are any issues with this solution, or a better way for handling this, I would love to hear it!
answered Mar 28 at 9:58
MayronMayron
7752 gold badges11 silver badges27 bronze badges
7752 gold badges11 silver badges27 bronze badges
add a comment
|
add a comment
|
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55394496%2fhow-to-patch-requests-get-from-a-different-file-in-python%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown