MCPcopy
hub / github.com/scrapy/scrapy / _test

Method _test

tests/test_spidermiddleware_process_start.py:63–76  ·  view source on GitHub ↗
(self, spider_middlewares, spider_cls, expected_items)

Source from the content-addressed store, hash-verified

61
62class TestMain:
63 async def _test(self, spider_middlewares, spider_cls, expected_items):
64 actual_items = []
65
66 def track_item(item, response, spider):
67 actual_items.append(item)
68
69 settings = {
70 "SPIDER_MIDDLEWARES": {cls: n for n, cls in enumerate(spider_middlewares)},
71 }
72 crawler = get_crawler(spider_cls, settings_dict=settings)
73 crawler.signals.connect(track_item, signals.item_scraped)
74 await crawler.crawl_async()
75 assert crawler.stats.get_value("finish_reason") == "finished"
76 assert actual_items == expected_items, f"{actual_items=} != {expected_items=}"
77
78 async def _test_wrap(self, spider_middleware, spider_cls, expected_items=None):
79 expected_items = expected_items or [ITEM_A, ITEM_B, ITEM_C]

Callers 3

_test_wrapMethod · 0.95
_test_douple_wrapMethod · 0.95
_test_sleepMethod · 0.95

Calls 4

get_crawlerFunction · 0.90
crawl_asyncMethod · 0.80
connectMethod · 0.45
get_valueMethod · 0.45

Tested by

no test coverage detected