MCPcopy
hub / github.com/scrapy/scrapy / test_settings_in_from_crawler

Method test_settings_in_from_crawler

tests/test_spider.py:82–105  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

80
81 @inline_callbacks_test
82 def test_settings_in_from_crawler(self):
83 spider_settings = {"TEST1": "spider", "TEST2": "spider"}
84 project_settings = {
85 "TEST1": "project",
86 "TEST3": "project",
87 **get_reactor_settings(),
88 }
89
90 class TestSpider(self.spider_class):
91 name = "test"
92 custom_settings = spider_settings
93
94 @classmethod
95 def from_crawler(cls, crawler: Crawler, *args: Any, **kwargs: Any):
96 spider = super().from_crawler(crawler, *args, **kwargs)
97 spider.settings.set("TEST1", "spider_instance", priority="spider")
98 return spider
99
100 crawler = Crawler(TestSpider, project_settings)
101 assert crawler.settings.get("TEST1") == "spider"
102 assert crawler.settings.get("TEST2") == "spider"
103 assert crawler.settings.get("TEST3") == "project"
104 yield crawler.crawl()
105 assert crawler.settings.get("TEST1") == "spider_instance"
106
107 def test_logger(self):
108 spider = self.spider_class("example.com")

Callers

nothing calls this directly

Calls 4

crawlMethod · 0.95
get_reactor_settingsFunction · 0.90
CrawlerClass · 0.90
getMethod · 0.45

Tested by

no test coverage detected