Тестирование ответа на терапию с использованием betamax
Я довольно плохо знаком с языком Python и написал небольшую утилиту для скрапинга, я хотел бы сейчас проверить реакцию на скребки с помощью betamax, и я пытаюсь понять, как запустить тест
Сам Scrapper работает просто отлично, и вот код, который я написал, чтобы проверить его
from scrapy.http import HtmlResponse
from betamax import Betamax
from betamax.fixtures.unittest import BetamaxTestCase
from job_scraper.spiders.ziprecruiter import ZiprecruiterSpider
import pdb
with Betamax.configure() as config:
# where betamax will store cassettes (http responses):
config.cassette_library_dir = 'tests/fixtures/cassettes'
config.preserve_exact_body_bytes = True
class TestZiprecruiterSpider(BetamaxTestCase): # superclass provides self.session
def test_parse(self):
spider = ZiprecruiterSpider()
# http response is recorded in a betamax cassette:
response = self.session.get(spider.start_urls[0])
# forge a scrapy response to test
scrapy_response = HtmlResponse(body=response.content, url=spider.start_urls[0])
items = list(spider.parse(scrapy_response))
pdb.set_trace()
Вопрос
- Как мне запустить этот тест? просто запустив команду
python tests/test_response.py
это правильно?
проблема
Когда я запускаю файл с помощью команды, упомянутой выше, я сталкиваюсь со следующей ошибкой
Traceback (последний вызов был последним): файл "tests/test_response.py", строка 4, из файла job_scraper.spiders.ziprecruiter import ZiprecruiterSpider ModuleNotFoundError: нет модуля с именем job_scraper
Почему я получаю эту ошибку? расположение ZiprecruiterSpider
это именно то место, откуда я его импортирую.
Я буду очень признателен за любую помощь в этом.