def test_ping_prints_status(self): c = Capture() c.start() self._client.ping() c.end() self.assertEquals('ping -> [ok]\n', c.buffer)
def test_captures_nonascii_stdout(self): c = Capture() c.start() print "test 日本" c.end() self.assertEqual(c.buffer, "test 日本\n")
def test_captures_stdout(self): c = Capture() c.start() print "Hello" c.end() self.assertEqual(c.buffer, "Hello\n")
class TestReporterUtils(TestCase): def setUp(self): self.console = Capture() self.console.begin() def tearDown(self): self.console.end() def test_pretty_print_args_with_empty_kwargs(self): result = pretty_print_args(None) self.assertEqual(result, 'None')
class TestConsoleReporter(TestCase): def setUp(self): self.default_reporter = ConsoleReporter() self.console = Capture() self.console.begin() def tearDown(self): self.console.end() def _get_output(self): return self.console.buffer def test_get_name(self): self.assertEqual(self.default_reporter.get_name(), 'Simple BDD Serial console reporter') def test_process_args(self): class dotted_dict(object): def __getattr__(self, attr): return self.__dict__.get(attr) args = dotted_dict() args.no_color = True self.default_reporter.process_arguments(args) self.assertFalse(self.default_reporter.use_color) def test_no_color_print(self): self.default_reporter.use_color = False self.default_reporter.output('test', 0, TestStatus.PASS) self.assertEqual(self._get_output(), 'test\n') def test_color_print(self): self.default_reporter.output('test', 0, TestStatus.PASS) self.assertEqual(self._get_output(), '\x1b[32mtest\x1b[0m\n')
def test_captured_stdout_has_encoding_attribute(self): c = Capture() c.start() self.assertNotEqual(sys.stdout, sys.__stdout__) self.assertTrue(hasattr(sys.stdout, 'encoding')) c.end()
class TestSpecterRunner(TestCase): def setUp(self): self.runner = SpecterRunner() self.console = Capture() self.console.begin() def tearDown(self): self.console.end() def get_console_reporter(self, reporters): for r in reporters: if type(r) is ConsoleReporter: return r def test_ascii_art_generation(self): """ We just want to know if it creates something""" art = self.runner.generate_ascii_art() self.assertGreater(len(art), 0) def test_run(self): self.runner.run(args=['--search', './tests/example_data', '--no-art']) reporter = self.get_console_reporter( self.runner.reporter_manager.reporters) self.assertEqual(len(self.runner.suite_types), 4) self.assertEqual(reporter.skipped_tests, 1) self.assertEqual(reporter.test_total, 11) def test_run_w_coverage(self): self.runner.run(args=['--search', './tests/example_data', '--no-art', '--coverage']) reporter = self.get_console_reporter( self.runner.reporter_manager.reporters) self.assertEqual(len(self.runner.suite_types), 4) self.assertEqual(reporter.skipped_tests, 1) self.assertEqual(reporter.test_total, 11) def test_run_w_bad_path(self): self.runner.run(args=['--search', './cobble']) self.assertEqual(len(self.runner.suite_types), 0) def test_run_w_select_module(self): self.runner.run(args=['--search', './tests/example_data', '--no-art', '--select-module', 'example.ExampleDataDescribe']) reporter = self.get_console_reporter( self.runner.reporter_manager.reporters) self.assertEqual(len(self.runner.suite_types), 1) self.assertEqual(reporter.skipped_tests, 0) self.assertEqual(reporter.test_total, 2) def test_run_w_select_test(self): self.runner.run(args=['--search', './tests/example_data', '--no-art', '--select-tests', 'this_should_work']) reporter = self.get_console_reporter( self.runner.reporter_manager.reporters) self.assertEqual(reporter.skipped_tests, 0) self.assertEqual(reporter.test_total, 1) def test_run_w_select_by_metadata(self): self.runner.run(args=['--search', './tests/example_data', '--no-art', '--select-by-metadata', 'test="smoke"']) reporter = self.get_console_reporter( self.runner.reporter_manager.reporters) self.assertEqual(len(self.runner.suite_types), 4) self.assertEqual(reporter.test_total, 1) def test_run_w_xunit(self): self.runner.run(args=['--search', './tests/example_data', '--no-art', '--xunit-result', './sample_xunit.xml']) self.assertEqual(len(self.runner.reporter_manager.reporters), 4) def test_run_w_json(self): self.runner.run(args=['--search', './tests/example_data', '--no-art', '--json-result', './sample.json']) self.assertEqual(len(self.runner.reporter_manager.reporters), 4) def test_run_w_parallel(self): self.runner.run(args=['--search', './tests/example_data', '--no-art', '--parallel']) self.assertEqual(len(self.runner.suite_types), 4)