diff --git a/scrapy/contracts/__init__.py b/scrapy/contracts/__init__.py index b3f02a291..7b6591d86 100644 --- a/scrapy/contracts/__init__.py +++ b/scrapy/contracts/__init__.py @@ -90,9 +90,9 @@ class ContractsManager(object): cb = request.callback @wraps(cb) - def cb_wrapper(response): + def cb_wrapper(response, **cb_kwargs): try: - output = cb(response, **request.cb_kwargs) + output = cb(response, **cb_kwargs) output = list(iterate_spider_output(output)) except Exception: case = _create_testcase(method, 'callback') @@ -121,7 +121,7 @@ class Contract(object): cb = request.callback @wraps(cb) - def wrapper(response): + def wrapper(response, **cb_kwargs): try: results.startTest(self.testcase_pre) self.pre_process(response) @@ -133,7 +133,7 @@ class Contract(object): else: results.addSuccess(self.testcase_pre) finally: - return list(iterate_spider_output(cb(response, **request.cb_kwargs))) + return list(iterate_spider_output(cb(response, **cb_kwargs))) request.callback = wrapper @@ -144,8 +144,8 @@ class Contract(object): cb = request.callback @wraps(cb) - def wrapper(response): - output = list(iterate_spider_output(cb(response, **request.cb_kwargs))) + def wrapper(response, **cb_kwargs): + output = list(iterate_spider_output(cb(response, **cb_kwargs))) try: results.startTest(self.testcase_post) self.post_process(output)