示例#1
0
class TestXCrawler(unittest.TestCase):
    
    def setUp(self):
        start_pages = mock_factory.create_mock_pages(10)
        config = mock.create_autospec(Config).return_value
        work_executor_factory = mock.create_autospec(WorkExecutorFactory).return_value
        self.crawler = XCrawler(start_pages, config, work_executor_factory)

    def test_run_argument_empty_start_pages(self):
        mock_executor = mock.create_autospec(WorkExecutor).return_value
        self.crawler.work_executor_factory.create_work_executor.return_value = mock_executor
        self.crawler.start_pages = []
        self.crawler.run()
        self.assertFalse(mock_executor.execute_work.called)

    def test_run_argument_non_empty_start_pages(self):
        mock_executor = mock.create_autospec(WorkExecutor).return_value
        self.crawler.work_executor_factory.create_work_executor.return_value = mock_executor
        self.crawler.run()
        mock_executor.execute_work.assert_called_once_with(self.crawler.start_pages)
示例#2
0
 def setUp(self):
     start_pages = mock_factory.create_mock_pages(10)
     config = mock.create_autospec(Config).return_value
     work_executor_factory = mock.create_autospec(WorkExecutorFactory).return_value
     self.crawler = XCrawler(start_pages, config, work_executor_factory)