'daki bir nesnenin yapıcısını bir web sayfasından verileri ayrıştıran bir işlevi test etmek istiyorum, ancak testimin HTML kodunu veya interneti değiştirmeye bağlı olmasını istemiyorum, böylece web sayfalarını kaydediyorum. Python
url_query = "http://www.allocine.fr/film/fichefilm-%s/similaire/" %allocine_id
response = requests.get(url_query)
soup = BeautifulSoup(response.text, "html.parser")
Yani benim testte yaptılar:
def test_Allocine_matrix_reloaded(self):
#Load result Matrix allocine API
test_file = open(MATRIX_RELOADED_TEST_FILE)
matrix_reloaded_data = json.load(test_file)
test_file.close()
#Load result Matrix sim allocine webpage
test_page = open(MATRIX_RELOADED_TEST_FILE)
matrix_reloaded_sim_page = test_page.read()
test_page.close()
#Mocking functions
allocine.get_allocine_info = mock.MagicMock(return_value=matrix_reloaded_data)
requests.get = mock.MagicMock(return_value=matrix_reloaded_sim_page)
Ama hata var:
Traceback (most recent call last):
File "info_allocine_test.py", line 34, in test_Allocine_matrix_reloaded
friends_allocine_info = allocine.AllocineInfo(matrix_realoaded_allocine_id)
File "info_allocine_flat.py", line 116, in __init__
sim_allocine['sim'] = scrap_similar_movie_allocine(allocine_id)
File "info_allocine_flat.py", line 255, in scrap_similar_movie_allocine
soup = BeautifulSoup(response.text, "html.parser")
AttributeError: 'str' object has no attribute 'text'
istediğim işlevinde sorun bende test etmek HTML kodunu soup
değişkeninde almak için nasıl yapabilirim? (Unite ve alay kullanıyorum)
Sorun şu anda hala mevcut: Elimde: AttributeError: 'str' nesnesinin 'find_all' özelliği yokken bunu yapmaya çalışıyorum: sim_movie_links = soup.find_all ("h2") – mel
Ben ' güncellenmiş kodunuzu görmeden nasıl yardımcı olabileceğimi biliyorum. Ancak, alay edilen yönteminizden bir BS nesnesinden ziyade bir dize döndürdüğünüz anlaşılıyor. –
Hatamı anladım, çok teşekkürler :) – mel