test_exporter.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:scrapy_rss 作者: woxcab 项目源码 文件源码
def test_empty_feed(self):
        for partial_settings in itertools.chain.from_iterable(
                itertools.combinations(self.feed_settings.items(), r)
                for r in range(1, len(self.feed_settings))):
            partial_settings = dict(partial_settings)
            undefined_settings = [name.upper() for name in set(self.feed_settings) - set(partial_settings)]
            with self.assertRaisesRegexp(NotConfigured,
                                         '({})'.format('|'.join(undefined_settings))
                                            if len(undefined_settings) > 1 else undefined_settings[0],
                                         msg='The feed file, title, link and description must be specified, but the absence of {} is allowed'
                                             .format(undefined_settings)):
                with CrawlerContext(**partial_settings):
                    pass

        with self.assertRaises(CloseSpider):
            feed_settings = dict(self.feed_settings)
            feed_settings['feed_file'] = 'non/existent/filepath'
            with CrawlerContext(**feed_settings):
                pass

        with CrawlerContext(**self.feed_settings):
            pass

        with open(self.feed_settings['feed_file']) as data, \
             open(os.path.join(os.path.dirname(__file__), 'expected_rss', 'empty_feed.rss')) as expected:
            self.assertUnorderedXmlEquivalentOutputs(data.read(), expected.read())
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号