Changeset 110

Show
Ignore:
Timestamp:
07/24/06 15:33:25 (7 years ago)
Author:
mk
Message:

Search for classes that inherit from unittest.TestCase? (closes ticket #43).

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/mk/cheesecake/cheesecake_index.py

    r109 r110  
    965965    max_value = 30 
    966966 
    967     def compute(self, doctests_count, files_list, classes, methods): 
     967    def compute(self, doctests_count, unittests_count, files_list, classes, methods): 
    968968        frameworks_found = False 
    969969 
    970970        if doctests_count > 0: 
     971            frameworks_found = True 
     972 
     973        if unittests_count > 0: 
    971974            frameworks_found = True 
    972975 
     
    14551458                              'docstring_cnt', 
    14561459                              'docformat_cnt', 
     1460                              'doctests_count', 
     1461                              'unittests_count', 
    14571462                              'files_list', 
    14581463                              'functions', 
     
    14731478          doctests_count : int 
    14741479              Number of docstrings that include doctests. 
     1480          unittests_count : int 
     1481              Number of classes which inherit from unittest.TestCase. 
    14751482          files_list : list 
    14761483              List of files package contains. 
     
    14971504        self.classes = [] 
    14981505        self.methods = [] 
     1506        self.unittests_count = 0 
    14991507 
    15001508        # Parse all application files and count objects 
     
    15111519            self.methods += code.methods 
    15121520            self.doctests_count += code.doctests_count 
     1521            self.unittests_count += code.unittests_count 
    15131522 
    15141523        # Log a bit of debugging info. 
  • branches/mk/cheesecake/codeparser.py

    r98 r110  
    123123        self.formatted_docstrings_count = 0 
    124124        self.doctests_count = 0 
     125        self.unittests_count = 0 
    125126 
    126127        # Initialize lists of format docstrings. 
     
    143144                self.modules.append(fullname) 
    144145            if isinstance(obj, Class): 
     146                if 'unittest.TestCase' in obj.bases or 'TestCase' in obj.bases: 
     147                    self.unittests_count += 1 
    145148                self.classes.append(fullname) 
    146149            if isinstance(obj, Function): 
  • branches/mk/tests/unit/test_index_use_test_framework.py

    r97 r110  
    4242        pass 
    4343    def test_that(self): 
     44        pass 
     45""" 
     46 
     47unittest_test_contents = """ 
     48class TestThisAndThat(unittest.TestCase): 
     49    def test_this(self): 
    4450        pass 
    4551""" 
     
    102108 
    103109    def test_special_filenames_1(self): 
    104         "Test use_test_framework index with packages that uses test_* filenames." 
     110        "Test use_test_framework index with package that uses test_* filenames." 
    105111        def setup(project_dir): 
    106112            files = ['some_module.py', 'README', 'test_some_module.py'] 
     
    110116 
    111117    def test_special_filenames_2(self): 
    112         "Test use_test_framework index with packages that uses *_test filenames." 
     118        "Test use_test_framework index with package that uses *_test filenames." 
    113119        def setup(project_dir): 
    114120            files = ['some_module.py', 'README', 'some_module_test.py'] 
     
    118124 
    119125    def test_special_methods(self): 
    120         "Test use_test_framework index with packages that uses setUp/tearDown methods." 
     126        "Test use_test_framework index with package that uses setUp/tearDown methods." 
    121127        def setup(project_dir): 
    122128            test_filename = os.path.join(project_dir, 'do_checks.py') 
     
    124130 
    125131        self._run_it(setup) 
     132 
     133    def test_unittest_classes(self): 
     134        "Test use_test_framework index with package that uses unittest library." 
     135        def setup(project_dir): 
     136            test_filename = os.path.join(project_dir, 'do_checks.py') 
     137            dump_str_to_file(unittest_test_contents, test_filename) 
     138 
     139        self._run_it(setup)