1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
import os
import sys
import unittest
from subprocess import Popen, PIPE
class CmdlineCrawlPipelineTest(unittest.TestCase):
def _execute(self, spname):
args = (sys.executable, '-m', 'scrapy.cmdline', 'crawl', spname)
cwd = os.path.dirname(os.path.abspath(__file__))
proc = Popen(args, stdout=PIPE, stderr=PIPE, cwd=cwd)
proc.communicate()
return proc.returncode
def test_open_spider_normally_in_pipeline(self):
self.assertEqual(self._execute('normal'), 0)
def test_exception_at_open_spider_in_pipeline(self):
self.assertEqual(self._execute('exception'), 1)
|