È possibile creare un test di integrazione di una pipeline di scrapy? Non riesco a capire come farlo. In particolare sto cercando di scrivere un test per FilesPipeline e voglio anche che mantenga la mia risposta derisoria ad Amazon S3.Integrationtest di pipeline scrapy restituita differita
Ecco la mia prova:
def _mocked_download_func(request, info):
return Response(url=response.url, status=200, body="test", request=request)
class FilesPipelineTests(unittest.TestCase):
def setUp(self):
self.settings = get_project_settings()
crawler = Crawler(self.settings)
crawler.configure()
self.pipeline = FilesPipeline.from_crawler(crawler)
self.pipeline.open_spider(None)
self.pipeline.download_func = _mocked_download_func
@defer.inlineCallbacks
def test_file_should_be_directly_available_from_s3_when_processed(self):
item = CrawlResult()
item['id'] = "test"
item['file_urls'] = ['http://localhost/test']
result = yield self.pipeline.process_item(item, None)
self.assertEquals(result['files'][0]['path'], "full/002338a87aab86c6b37ffa22100504ad1262f21b")
ho sempre incontrato il seguente errore:
DirtyReactorAggregateError: Reactor was unclean.
Come posso creare un test adeguato utilizzando Scrapy contorto e?