Тестирование ответа на терапию с использованием 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()

Вопрос

  1. Как мне запустить этот тест? просто запустив команду python tests/test_response.py это правильно?

проблема

Когда я запускаю файл с помощью команды, упомянутой выше, я сталкиваюсь со следующей ошибкой

Traceback (последний вызов был последним): файл "tests/test_response.py", строка 4, из файла job_scraper.spiders.ziprecruiter import ZiprecruiterSpider ModuleNotFoundError: нет модуля с именем job_scraper

Почему я получаю эту ошибку? расположение ZiprecruiterSpider это именно то место, откуда я его импортирую.

Я буду очень признателен за любую помощь в этом.

0 ответов

Другие вопросы по тегам