def test_run_test_with_data_provider_no_expand(self): tinc_test_loader = tinctest.TINCTestLoader() tinc_test_suite = tinc_test_loader.loadTestsFromName( 'tinctest.test.test_data_provider.MockTINCTestCaseWithDataProvider.test_with_data_provider', expand=False) with closing(_WritelnDecorator(StringIO())) as buffer: tinc_test_result = tinctest.TINCTestResultSet(buffer, True, 1) tinc_test_suite.run(tinc_test_result) # This should have run one test, since expand is False self.assertEquals(tinc_test_result.testsRun, 1)
def test_run_test_with_data_provider_complicated(self): tinc_test_loader = tinctest.TINCTestLoader() tinc_test_suite = tinc_test_loader.loadTestsFromName( 'tinctest.test.test_data_provider.MockTINCTestCaseWithDataProviderComplicated.test_with_data_provider_complicated' ) with closing(_WritelnDecorator(StringIO())) as buffer: tinc_test_result = tinctest.TINCTestResultSet(buffer, True, 1) tinc_test_suite.run(tinc_test_result) # This should have run two tests self.assertEquals(tinc_test_result.testsRun, 6)
def _discover_and_run_tests(self, start_dirs, patterns, top_level_dir, query_handler): tinc_test_loader = tinctest.TINCTestLoader() tinc_test_suite = tinc_test_loader.discover(start_dirs = start_dirs, patterns = patterns, top_level_dir = None, query_handler = query_handler ) with closing(_WritelnDecorator(StringIO())) as buffer: tinc_test_result = tinctest.TINCTestResultSet(buffer, True, 1) tinc_test_suite.run(tinc_test_result) return tinc_test_result
def test_suite_construction_with_discover(self): tinc_test_loader = tinctest.TINCTestLoader() pwd = os.path.dirname(inspect.getfile(self.__class__)) test_dir = os.path.join(pwd, 'data_provider') tinc_test_suite = tinc_test_loader.discover(start_dirs=[test_dir], patterns=['test_*.py'], top_level_dir=test_dir) with closing(_WritelnDecorator(StringIO())) as buffer: tinc_test_result = tinctest.TINCTestResultSet(buffer, True, 1) tinc_test_suite.run(tinc_test_result) # This should have run 11 tests self.assertEquals(tinc_test_result.testsRun, 11)
def test_loading_with_decorator_discover(self): tinc_test_loader = tinctest.TINCTestLoader() pwd = os.path.dirname(inspect.getfile(self.__class__)) test_dir = os.path.join(pwd, 'skip_loading') tinc_test_suite = tinc_test_loader.discover( start_dirs=[test_dir], patterns=['test_load_with_*.py'], top_level_dir=test_dir) with closing(_WritelnDecorator(StringIO())) as buffer: tinc_test_result = tinctest.TINCTestResultSet(buffer, True, 1) tinc_test_suite.run(tinc_test_result) # This should have run 2 tests as test_01 # would have been skipped loading at the base class with decorator self.assertEquals(tinc_test_result.testsRun, 2)
def test_discover_with_invalid_imports(self): tinc_test_loader = tinctest.TINCTestLoader() pwd = os.path.dirname(inspect.getfile(self.__class__)) test_dir = os.path.join(pwd, 'data_provider') tinc_test_suite = tinc_test_loader.discover(start_dirs = [test_dir], patterns = ['discover_invalid_imports.py'], top_level_dir = test_dir) self.assertEquals(len(tinc_test_suite._tests), 1) with closing(_WritelnDecorator(StringIO())) as buffer: tinc_test_result = tinctest.TINCTestResultSet(buffer, True, 1) tinc_test_suite.run(tinc_test_result) # This should have thrown a ModuleImportFailure error self.assertTrue('ModuleImportFailure' in str(tinc_test_result.errors[0][0]))
def test_suite_construction_with_discover_and_tinc_queries(self): tinc_test_loader = tinctest.TINCTestLoader() pwd = os.path.dirname(inspect.getfile(self.__class__)) test_dir = os.path.join(pwd, 'data_provider') query_handler = TINCDiscoveryQueryHandler("tags=tag1") tinc_test_suite = tinc_test_loader.discover( start_dirs=[test_dir], patterns=['test_*.py'], top_level_dir=test_dir, query_handler=query_handler) with closing(_WritelnDecorator(StringIO())) as buffer: tinc_test_result = tinctest.TINCTestResultSet(buffer, True, 1) tinc_test_suite.run(tinc_test_result) # This should have filtered 4 tests and hence run 7 tests self.assertEquals(tinc_test_result.testsRun, 7)
def test_run_test_with_data_provider_verify_data(self): tinc_test_loader = tinctest.TINCTestLoader() tinc_test_suite = tinc_test_loader.loadTestsFromName( 'tinctest.test.test_data_provider.MockTINCTestCaseWithDataProviderFailure.test_failure_with_data_provider' ) for test in tinc_test_suite._tests: test.__class__.__unittest_skip__ = False pwd = os.path.dirname(inspect.getfile(self.__class__)) for file in os.listdir(pwd): if fnmatch.fnmatch(file, '*.out'): os.remove(os.path.join(pwd, file)) test_file1 = os.path.join(pwd, 'type1.out') test_file2 = os.path.join(pwd, 'type2.out') with closing(_WritelnDecorator(StringIO())) as buffer: tinc_test_result = tinctest.TINCTestResultSet(buffer, True, 1) tinc_test_suite.run(tinc_test_result) # This should have run two tests self.assertEquals(tinc_test_result.testsRun, 2) self.assertEquals(len(tinc_test_result.failures), 2) self.assertTrue(os.path.exists(test_file1)) self.assertTrue(os.path.exists(test_file2))