示例#1
0
class TestCaseTest(TestCase):

    def setUp(self):
        self.result = TestResult()
        self.module = sys.modules[self.__module__]

    def test_template_method(self):
        test = WasRun('test_method')
        test.run(self.result)
        assert "setUp test_method tearDown " == test.log

    def test_result(self):
        test = WasRun('test_method')
        test.run(self.result)
        assert "1 run, 0 failed" == self.result.summary()

    def test_failed_result(self):
        # expected failure
        test = WasRun('broken_method')
        test.run(self.result)
        assert "1 run, 1 failed" == self.result.summary(), "Expected Failure"

    def test_failed_result_formatting(self):
        self.result.test_started()
        self.result.test_failed()
        assert "1 run, 1 failed" == self.result.summary()

    def test_get_classes_for_test(self):
        suite = TestSuite(self.module)
        test_classes = suite.get_classes_for_test()
        assert self.__class__.__name__ in test_classes.keys()
        assert isinstance(self, test_classes[self.__class__.__name__])

    def test_if_classes_for_test_are_valid(self):
        suite = TestSuite(self.module)
        test_classes = suite.get_classes_for_test()
        assert 'TestInvalidClass' not in test_classes
        assert self.__class__.__name__ in test_classes

    def test_get_methods_for_test_in_each_class(self):
        suite = TestSuite(self.module)
        methods = suite.get_class_methods(TestCaseTest)
        assert 'test_template_method' in methods
        assert 'test_get_methods_for_test_in_each_class' in methods

    def test_if_test_methods_startswith_test(self):
        suite = TestSuite()
        methods = suite.get_class_methods(TestCaseTest)
        assert 'test_if_test_methods_startswith_test' in methods
        assert '__init__' not in methods

    def test_run_suite_with_specific_class_test(self):
        suite = TestSuite(self.module, 'MockTestClass')
        suite.run(self.result)
        assert "2 run, 0 failed" == self.result.summary()

    def test_run_suite_with_specific_inexistent_class(self):
        suite = TestSuite(self.module, 'Abc')
        suite.run(self.result)
        assert "0 run, 0 failed" == self.result.summary()

    def test_run_suite_with_specific_invalid_class(self):
        suite = TestSuite(self.module, 'TestInvalidClass')
        suite.run(self.result)
        assert "0 run, 0 failed" == self.result.summary()

    def test_run_suite_with_specific_class_and_method(self):
        suite = TestSuite(self.module, 'MockTestClass', 'test_dummy_sum')
        suite.run(self.result)
        assert "1 run, 0 failed" == self.result.summary()

    def test_run_suite_with_specific_class_and_inexistent_method(self):
        suite = TestSuite(self.module, 'MockTestClass', 'inexistent_method')
        suite.run(self.result)
        assert "0 run, 0 failed" == self.result.summary()