mirror of https://github.com/scrapy/scrapy.git
Merge pull request #2865 from kirankoduru/2831-explicit-msg-for-scrapy-parse-callback
[MRG+1] Explicit message for scrapy parse callback
This commit is contained in:
commit
d5f3543d77
|
|
@ -87,7 +87,7 @@ class Spider(object_ref):
|
|||
return Request(url, dont_filter=True)
|
||||
|
||||
def parse(self, response):
|
||||
raise NotImplementedError
|
||||
raise NotImplementedError('{}.parse callback is not defined'.format(self.__class__.__name__))
|
||||
|
||||
@classmethod
|
||||
def update_settings(cls, settings):
|
||||
|
|
|
|||
|
|
@ -429,3 +429,17 @@ class DeprecationTest(unittest.TestCase):
|
|||
self.assertEqual(len(requests), 1)
|
||||
self.assertEqual(requests[0].url, 'http://example.com/foo')
|
||||
self.assertEqual(len(w), 1)
|
||||
|
||||
|
||||
class NoParseMethodSpiderTest(unittest.TestCase):
|
||||
|
||||
spider_class = Spider
|
||||
|
||||
def test_undefined_parse_method(self):
|
||||
spider = self.spider_class('example.com')
|
||||
text = b'Random text'
|
||||
resp = TextResponse(url="http://www.example.com/random_url", body=text)
|
||||
|
||||
exc_msg = 'Spider.parse callback is not defined'
|
||||
with self.assertRaisesRegexp(NotImplementedError, exc_msg):
|
||||
spider.parse(resp)
|
||||
|
|
|
|||
Loading…
Reference in New Issue