def get_injector_for_testing( providers: Mapping, additional_settings: Dict = None, overrides_registry: Optional[OverridesRegistryBase] = None ) -> Injector: """ Return an :class:`Injector` using a fake crawler. Useful for testing providers """ class MySpider(Spider): name = "my_spider" settings = Settings({ **(additional_settings or {}), "SCRAPY_POET_PROVIDERS": providers }) crawler = Crawler(MySpider) crawler.settings = settings spider = MySpider() spider.settings = settings crawler.spider = spider return Injector(crawler, overrides_registry=overrides_registry)