class SuiteRunnerTests(unittest.TestCase): """SuiteRunner.run()""" def setUp(self): self.test1, self.test2, self.test3 = Mock(), Mock(), Mock() self.test1.return_value = True self.test2.return_value = True self.test3.return_value = False SuiteRunner.renderer = Mock() settings_patcher = patch('testtube.runner.Settings') self.addCleanup(settings_patcher.stop) self.Settings = settings_patcher.start() self.Settings.PATTERNS = [ (r'.*', [self.test1, self.test2]), (r'.*', [self.test3], {'fail_fast': True}), (r'.*', []) ] self.runner = SuiteRunner() self.runner.run('yay.py') def test_renders_a_result_report_with_list_of_result_groupings(self): self.runner.renderer.report.assert_called_once_with([ [(self.test1, True), (self.test2, True)], [(self.test3, False)] ]) def test_outputs_fail_fast_messaging_if_ff_test_group_fails(self): self.runner.renderer.failure.assert_called_once_with( 'Aborting subsequent test groups. Fail fast enabled.')
def setUp(self): SuiteRunner.renderer = Mock() self.test = Mock() settings_patcher = patch('testtube.runner.Settings') self.addCleanup(settings_patcher.stop) self.Settings = settings_patcher.start() self.Settings.PATTERNS = [(r'.*', [self.test])] self.Settings.IGNORE_PATTERNS = (r'yay\.txt',) self.runner = SuiteRunner() self.runner.run('yay.txt')
class SuiteRunnerWithIgnorePatternsConfigured(unittest.TestCase): def setUp(self): SuiteRunner.renderer = Mock() self.test = Mock() settings_patcher = patch('testtube.runner.Settings') self.addCleanup(settings_patcher.stop) self.Settings = settings_patcher.start() self.Settings.PATTERNS = [(r'.*', [self.test])] self.Settings.IGNORE_PATTERNS = (r'yay\.txt',) self.runner = SuiteRunner() self.runner.run('yay.txt') def test_ignores_paths_matching_IGNORE_PATTERNS(self): self.test.assert_not_called()
def setUp(self): self.test1, self.test2, self.test3 = Mock(), Mock(), Mock() self.test1.return_value = True self.test2.return_value = True self.test3.return_value = False SuiteRunner.renderer = Mock() settings_patcher = patch('testtube.runner.Settings') self.addCleanup(settings_patcher.stop) self.Settings = settings_patcher.start() self.Settings.PATTERNS = [ (r'.*', [self.test1, self.test2]), (r'.*', [self.test3], {'fail_fast': True}), (r'.*', []) ] self.runner = SuiteRunner() self.runner.run('yay.py')
def setUp(self): self.test1, self.test2, self.test3 = Mock(), Mock(), Mock() self.test1.return_value = True self.test2.return_value = True self.test3.return_value = False SuiteRunner.renderer = Mock() settings_patcher = patch("testtube.runner.Settings") self.addCleanup(settings_patcher.stop) self.Settings = settings_patcher.start() self.Settings.PATTERNS = [ (r".*", [self.test1, self.test2]), (r".*", [self.test3], {"fail_fast": True}), (r".*", []), ] self.runner = SuiteRunner() self.runner.run("yay.py")
def on_any_event(self, event): """Execute the test suite whenever files change.""" test_runner = SuiteRunner() test_runner.run(event.src_path)