Ich bin im Grunde mit magischen Mock und Context-Manager, um meinen Code zu testen, konnte ich meine get_urls Funktion verspotten, aber ich habe Probleme zu verspotten meine access_all_repos_pr(): Funktion, die Daten enthält von PR neuer als 7 Tage, kann mir jemand helfen, wie man diese Daten vortäuscht. HierVerwenden von Magic Mock zum Testen Github Api
ist der Test-Code für mein get_urls():
import unittest
from mock import MagicMock, patch
from contextlib2 import ExitStack
from GithubAPIpackage.GithubAPI import get_urls
class Test_GithubApi(unittest.TestCase):
def test_get_urls_returns_valid_urls(self):
with ExitStack() as stack:
mock_get_urls = stack.enter_context(
patch("GithubAPIpackage.GithubAPI._fetch_url")
)
fake_data = {"current_user_repositories_url": "http://FAKEURL.com"}
mock_get_urls.return_value = fake_data
print(type(fake_data))
result = get_urls()
self.assertEqual(result, "http://FAKEURL.com")
Ich will die Antwort für die Funktion access_all_repo_pr verspotten, jemand mir helfen kann, was ich brauche genau das zu tun ein Modell zu erstellen für meine access_all_repo_pr Funktion. Muss ich meinen Code irgendwie umgestalten? (Relativ neu in Python)
was ich versuche:
class Test_GithubApi_newer_than_7_days(unittest.TestCase):
def test_access_all_repo_pr_returns_valid_response(self):
with ExitStack() as stack:
mock_access_all_repo_pr = stack.enter_context(
patch("GithubAPIpackage.GithubAPI._fetch_url")
)
fake_data = {"current_user_repositories_url": "http://myfakeurl.com"}
mock_access_all_repo_pr.return_value = fake_data
result = access_all_repo_pr()
self.assertEqual(result, "")