(
self, spider: type[Spider], expected_items: list[Any] | None = None
)
| 21 | |
| 22 | class TestMain: |
| 23 | async def _test_spider( |
| 24 | self, spider: type[Spider], expected_items: list[Any] | None = None |
| 25 | ) -> None: |
| 26 | actual_items = [] |
| 27 | expected_items = [] if expected_items is None else expected_items |
| 28 | |
| 29 | def track_item(item, response, spider): |
| 30 | actual_items.append(item) |
| 31 | |
| 32 | crawler = get_crawler(spider) |
| 33 | crawler.signals.connect(track_item, signals.item_scraped) |
| 34 | await crawler.crawl_async() |
| 35 | assert crawler.stats |
| 36 | assert crawler.stats.get_value("finish_reason") == "finished" |
| 37 | assert actual_items == expected_items |
| 38 | |
| 39 | @coroutine_test |
| 40 | async def test_start_urls(self): |
no test coverage detected