예제 #1
0
class TestListeners(unittest.TestCase):
    listener_name = 'test_listeners.ListenAll'
    stat_message = 'stat message'

    def setUp(self):
        self.listeners = Listeners([self.listener_name])
        self.capturer = OutputCapturer()

    def test_start_suite(self):
        self.listeners.start_suite(SuiteMock())
        self._assert_output("SUITE START: suitemock 'somedoc'")

    def test_start_test(self):
        self.listeners.start_test(TestMock())
        self._assert_output("TEST START: testmock 'cod' foo, bar")

    def test_start_keyword(self):
        self.listeners.start_keyword(KwMock())
        self._assert_output("KW START: kwmock ['a1', 'a2']")

    def test_end_keyword(self):
        self.listeners.end_keyword(KwMock())
        self._assert_output("KW END: PASS")

    def test_end_test(self):
        self.listeners.end_test(TestMock())
        self._assert_output('TEST END: FAIL Expected failure')

    def test_end_suite(self):
        self.listeners.end_suite(SuiteMock())
        self._assert_output('SUITE END: PASS ' + self.stat_message)

    def test_output_file(self):
        self.listeners.output_file('output', 'path/to/output')
        self._assert_output('Output: path/to/output')

    def test_log_file(self):
        self.listeners.output_file('log', 'path/to/log')
        self._assert_output('Log: path/to/log')

    def test_report_file(self):
        self.listeners.output_file('report', 'path/to/report')
        self._assert_output('Report: path/to/report')

    def test_debug_file(self):
        self.listeners.output_file('debug', 'path/to/debug')
        self._assert_output('Debug: path/to/debug')

    def test_xunit_file(self):
        self.listeners.output_file('XUnit', 'path/to/xunit')
        self._assert_output('XUnit: path/to/xunit')

    def test_close(self):
        self.listeners.close()
        self._assert_output('Closing...')

    def _assert_output(self, expected):
        stdout, stderr = self.capturer._release()
        assert_equal(stderr, '')
        assert_equal(stdout.rstrip(), expected)
class TestListeners(unittest.TestCase):
    listener_name = 'test_listeners.ListenAll'
    stat_message = 'stat message'

    def setUp(self):
        self.listeners = Listeners([self.listener_name])
        self.capturer = OutputCapturer()

    def test_start_suite(self):
        self.listeners.start_suite(SuiteMock())
        self._assert_output("SUITE START: suitemock 'somedoc'")

    def test_start_test(self):
        self.listeners.start_test(TestMock())
        self._assert_output("TEST START: testmock 'cod' foo, bar")

    def test_start_keyword(self):
        self.listeners.start_keyword(KwMock())
        self._assert_output("KW START: kwmock ['a1', 'a2']")

    def test_end_keyword(self):
        self.listeners.end_keyword(KwMock())
        self._assert_output("KW END: PASS")

    def test_end_test(self):
        self.listeners.end_test(TestMock())
        self._assert_output('TEST END: FAIL Expected failure')

    def test_end_suite(self):
        self.listeners.end_suite(SuiteMock())
        self._assert_output('SUITE END: PASS ' + self.stat_message)

    def test_output_file(self):
        self.listeners.output_file('output', 'path/to/output')
        self._assert_output('Output: path/to/output')

    def test_log_file(self):
        self.listeners.output_file('log', 'path/to/log')
        self._assert_output('Log: path/to/log')

    def test_report_file(self):
        self.listeners.output_file('report', 'path/to/report')
        self._assert_output('Report: path/to/report')

    def test_debug_file(self):
        self.listeners.output_file('debug', 'path/to/debug')
        self._assert_output('Debug: path/to/debug')

    def test_xunit_file(self):
        self.listeners.output_file('XUnit', 'path/to/xunit')
        self._assert_output('XUnit: path/to/xunit')

    def test_close(self):
        self.listeners.close()
        self._assert_output('Closing...')

    def _assert_output(self, expected):
        stdout, stderr = self.capturer._release()
        assert_equal(stderr, '')
        assert_equal(stdout.rstrip(), expected)
예제 #3
0
파일: robpy.py 프로젝트: mkorpela/robpy
 def visit_test(self, test):
     t = self._actual_tests[test]
     self._executed_tests[test.name] = True
     result = self._suite.tests.create(name=t.__name__,
                                       doc=t.__doc__,
                                       tags=t.tags,
                                       starttime=get_timestamp(),
                                       timeout=self._get_timeout(test))
     status = TestStatus(self._suite_status, result.critical)
     self._context.start_test(result)
     self._output.start_test(ModelCombiner(result, test))
     try:
         with OutputCapturer():
             t()
     except PassExecution as exception:
         err = exception.earlier_failures
         if err:
             status.test_failed(err)
         else:
             result.message = exception.message
     except Exception as err:
         status.test_failed(err)
     result.status = status.status
     result.message = status.message or result.message
     result.status = status.status
     result.endtime = get_timestamp()
     self._output.end_test(ModelCombiner(result, test))
     self._context.end_test(result)
예제 #4
0
class _BaseListenerTest:

    def setUp(self):
        self.listeners = Listeners([(self.listener_name, [])])
        self.listener = self.listeners._listeners[0]
        self.capturer = OutputCapturer()

    def test_start_suite(self):
        self.listeners.start_suite(SuiteMock())
        self._assert_output("SUITE START: suitemock 'somedoc'")

    def test_start_test(self):
        self.listeners.start_test(TestMock())
        self._assert_output("TEST START: testmock 'cod' foo, bar")

    def test_start_keyword(self):
        self.listeners.start_keyword(KwMock())
        self._assert_output("KW START: kwmock ['a1', 'a2']")

    def test_end_keyword(self):
        self.listeners.end_keyword(KwMock())
        self._assert_output("KW END: PASS")

    def test_end_test(self):
        self.listeners.end_test(TestMock())
        self._assert_output('TEST END: FAIL Expected failure')

    def test_end_suite(self):
        self.listeners.end_suite(SuiteMock())
        self._assert_output('SUITE END: PASS full message')

    def test_output_file(self):
        self.listeners.output_file('output', 'path/to/output')
        self._assert_output('Output: path/to/output')

    def test_log_file(self):
        self.listeners.output_file('log', 'path/to/log')
        self._assert_output('Log: path/to/log')

    def test_report_file(self):
        self.listeners.output_file('report', 'path/to/report')
        self._assert_output('Report: path/to/report')

    def test_summary_file(self):
        self.listeners.output_file('summary', 'path/to/summary')
        self._assert_output('Summary: path/to/summary')

    def test_debug_file(self):
        self.listeners.output_file('debug', 'path/to/debug')
        self._assert_output('Debug: path/to/debug')

    def test_close(self):
        self.listeners.close()
        self._assert_output('Closing...')

    def _assert_output(self, expected):
        stdout, stderr = self.capturer.release()
        assert_equals(stderr, '')
        assert_equals(stdout.rstrip(), expected)
예제 #5
0
파일: robpy.py 프로젝트: mkorpela/robpy
 def func(*args, **kw):
   result = KeywordResult(kwname=f.__name__, doc=f.__doc__)
   context = ctx.EXECUTION_CONTEXTS.current
   with StatusReporter(context, result):
           try:
               with OutputCapturer():
                 return f(*args, **kw)
           except Exception:
                failure = HandlerExecutionFailed(ErrorDetails())
                context.fail(failure.full_message)
                if failure.traceback:
                    context.debug(failure.traceback)
                raise
 def setUp(self):
     self.listeners = Listeners([self.listener_name])
     self.capturer = OutputCapturer()
예제 #7
0
 def setUp(self):
     self.listeners = Listeners([self.listener_name])
     self.capturer = OutputCapturer()
예제 #8
0
 def setUp(self):
     self.listeners = Listeners([(self.listener_name, [])])
     self.listener = self.listeners._listeners[0]
     self.capturer = OutputCapturer()