Python unittest2.TestLoader() Examples
The following are 30
code examples of unittest2.TestLoader().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
unittest2
, or try the search function
.
Example #1
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromName__relative_TestCase_subclass(self): m = types.ModuleType('m') class MyTestCase(unittest2.TestCase): def test(self): pass m.testcase_1 = MyTestCase loader = unittest2.TestLoader() suite = loader.loadTestsFromName('testcase_1', m) self.assertIsInstance(suite, loader.suiteClass) self.assertEqual(list(suite), [MyTestCase('test')]) # "The specifier name is a ``dotted name'' that may resolve either to # a module, a test case class, a TestSuite instance, a test method # within a test case class, or a callable object which returns a # TestCase or TestSuite instance."
Example #2
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromModule__load_tests(self): m = types.ModuleType('m') class MyTestCase(unittest2.TestCase): def test(self): pass m.testcase_1 = MyTestCase load_tests_args = [] def load_tests(loader, tests, pattern): self.assertIsInstance(tests, unittest2.TestSuite) load_tests_args.extend((loader, tests, pattern)) return tests m.load_tests = load_tests loader = unittest2.TestLoader() suite = loader.loadTestsFromModule(m) self.assertIsInstance(suite, unittest2.TestSuite) self.assertEquals(load_tests_args, [loader, suite, None]) load_tests_args = [] suite = loader.loadTestsFromModule(m, use_load_tests=False) self.assertEquals(load_tests_args, [])
Example #3
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_suiteClass__loadTestsFromModule(self): m = types.ModuleType('m') class Foo(unittest2.TestCase): def test_1(self): pass def test_2(self): pass def foo_bar(self): pass m.Foo = Foo tests = [[Foo('test_1'), Foo('test_2')]] loader = unittest2.TestLoader() loader.suiteClass = list self.assertEqual(loader.loadTestsFromModule(m), tests) # It is implicit in the documentation for TestLoader.suiteClass that # all TestLoader.loadTestsFrom* methods respect it. Let's make sure
Example #4
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_suiteClass__loadTestsFromName(self): m = types.ModuleType('m') class Foo(unittest2.TestCase): def test_1(self): pass def test_2(self): pass def foo_bar(self): pass m.Foo = Foo tests = [Foo('test_1'), Foo('test_2')] loader = unittest2.TestLoader() loader.suiteClass = list self.assertEqual(loader.loadTestsFromName('Foo', m), tests) # It is implicit in the documentation for TestLoader.suiteClass that # all TestLoader.loadTestsFrom* methods respect it. Let's make sure
Example #5
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_sortTestMethodsUsing__None(self): class Foo(unittest2.TestCase): def test_1(self): pass def test_2(self): pass loader = unittest2.TestLoader() loader.sortTestMethodsUsing = None test_names = ['test_2', 'test_1'] self.assertEqual(set(loader.getTestCaseNames(Foo)), set(test_names)) ################################################################ ### /Tests for TestLoader.sortTestMethodsUsing ### Tests for TestLoader.suiteClass ################################################################ # "Callable object that constructs a test suite from a list of tests."
Example #6
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_sortTestMethodsUsing__loadTestsFromModule(self): def reversed_cmp(x, y): return -cmp(x, y) m = types.ModuleType('m') class Foo(unittest2.TestCase): def test_1(self): pass def test_2(self): pass m.Foo = Foo loader = unittest2.TestLoader() loader.sortTestMethodsUsing = reversed_cmp tests = [loader.suiteClass([Foo('test_2'), Foo('test_1')])] self.assertEqual(list(loader.loadTestsFromModule(m)), tests) # "Function to be used to compare method names when sorting them in # getTestCaseNames() and all the loadTestsFromX() methods"
Example #7
Source File: test_discovery.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_discover_with_modules_that_fail_to_import(self): loader = unittest2.TestLoader() listdir = os.listdir os.listdir = lambda _: ['test_this_does_not_exist.py'] isfile = os.path.isfile os.path.isfile = lambda _: True orig_sys_path = sys.path[:] def restore(): os.path.isfile = isfile os.listdir = listdir sys.path[:] = orig_sys_path self.addCleanup(restore) suite = loader.discover('.') self.assertIn(os.getcwd(), sys.path) self.assertEqual(suite.countTestCases(), 1) test = list(list(suite)[0])[0] # extract test from suite self.assertRaises(ImportError, lambda: test.test_this_does_not_exist())
Example #8
Source File: test_discovery.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_discovery_from_dotted_path(self): loader = unittest2.TestLoader() tests = [self] from unittest2 import test expectedPath = os.path.abspath(os.path.dirname(test.__file__)) self.wasRun = False def _find_tests(start_dir, pattern): self.wasRun = True self.assertEqual(start_dir, expectedPath) return tests loader._find_tests = _find_tests suite = loader.discover('unittest2.test') self.assertTrue(self.wasRun) self.assertEqual(suite._tests, tests)
Example #9
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_sortTestMethodsUsing__loadTestsFromTestCase(self): def reversed_cmp(x, y): return -cmp(x, y) class Foo(unittest2.TestCase): def test_1(self): pass def test_2(self): pass loader = unittest2.TestLoader() loader.sortTestMethodsUsing = reversed_cmp tests = loader.suiteClass([Foo('test_2'), Foo('test_1')]) self.assertEqual(loader.loadTestsFromTestCase(Foo), tests) # "Function to be used to compare method names when sorting them in # getTestCaseNames() and all the loadTestsFromX() methods"
Example #10
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_sortTestMethodsUsing__loadTestsFromName(self): def reversed_cmp(x, y): return -cmp(x, y) m = types.ModuleType('m') class Foo(unittest2.TestCase): def test_1(self): pass def test_2(self): pass m.Foo = Foo loader = unittest2.TestLoader() loader.sortTestMethodsUsing = reversed_cmp tests = loader.suiteClass([Foo('test_2'), Foo('test_1')]) self.assertEqual(loader.loadTestsFromName('Foo', m), tests) # "Function to be used to compare method names when sorting them in # getTestCaseNames() and all the loadTestsFromX() methods"
Example #11
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromName__malformed_name(self): loader = unittest2.TestLoader() # XXX Should this raise ValueError or ImportError? try: loader.loadTestsFromName('abc () //') except ValueError: pass except ImportError: pass else: self.fail("TestLoader.loadTestsFromName failed to raise ValueError") # "The specifier name is a ``dotted name'' that may resolve ... to a # module" # # What happens when a module by that name can't be found?
Example #12
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_testMethodPrefix__loadTestsFromModule(self): m = types.ModuleType('m') class Foo(unittest2.TestCase): def test_1(self): pass def test_2(self): pass def foo_bar(self): pass m.Foo = Foo tests_1 = [unittest2.TestSuite([Foo('foo_bar')])] tests_2 = [unittest2.TestSuite([Foo('test_1'), Foo('test_2')])] loader = unittest2.TestLoader() loader.testMethodPrefix = 'foo' self.assertEqual(list(loader.loadTestsFromModule(m)), tests_1) loader.testMethodPrefix = 'test' self.assertEqual(list(loader.loadTestsFromModule(m)), tests_2) # "String giving the prefix of method names which will be interpreted as # test methods" # # Implicit in the documentation is that testMethodPrefix is respected by # all loadTestsFrom* methods.
Example #13
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromName__relative_empty_name(self): loader = unittest2.TestLoader() try: loader.loadTestsFromName('', unittest2) except AttributeError: pass else: self.fail("Failed to raise AttributeError") # "The specifier name is a ``dotted name'' that may resolve either to # a module, a test case class, a TestSuite instance, a test method # within a test case class, or a callable object which returns a # TestCase or TestSuite instance." # ... # "The method optionally resolves name relative to the given module" # # What happens when an impossible name is given, relative to the provided # `module`?
Example #14
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromName__relative_not_a_module(self): class MyTestCase(unittest2.TestCase): def test(self): pass class NotAModule(object): test_2 = MyTestCase loader = unittest2.TestLoader() suite = loader.loadTestsFromName('test_2', NotAModule) reference = [MyTestCase('test')] self.assertEqual(list(suite), reference) # "The specifier name is a ``dotted name'' that may resolve either to # a module, a test case class, a TestSuite instance, a test method # within a test case class, or a callable object which returns a # TestCase or TestSuite instance." # # Does it raise an exception if the name resolves to an invalid # object?
Example #15
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_getTestCaseNames__no_tests(self): class Test(unittest2.TestCase): def foobar(self): pass loader = unittest2.TestLoader() self.assertEqual(loader.getTestCaseNames(Test), []) # "Return a sorted sequence of method names found within testCaseClass" # # Are not-TestCases handled gracefully? # # XXX This should raise a TypeError, not return a list # # XXX It's too late in the 2.5 release cycle to fix this, but it should # probably be revisited for 2.6
Example #16
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_testMethodPrefix__loadTestsFromTestCase(self): class Foo(unittest2.TestCase): def test_1(self): pass def test_2(self): pass def foo_bar(self): pass tests_1 = unittest2.TestSuite([Foo('foo_bar')]) tests_2 = unittest2.TestSuite([Foo('test_1'), Foo('test_2')]) loader = unittest2.TestLoader() loader.testMethodPrefix = 'foo' self.assertEqual(loader.loadTestsFromTestCase(Foo), tests_1) loader.testMethodPrefix = 'test' self.assertEqual(loader.loadTestsFromTestCase(Foo), tests_2) # "String giving the prefix of method names which will be interpreted as # test methods" # # Implicit in the documentation is that testMethodPrefix is respected by # all loadTestsFrom* methods.
Example #17
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromName__relative_testmethod(self): m = types.ModuleType('m') class MyTestCase(unittest2.TestCase): def test(self): pass m.testcase_1 = MyTestCase loader = unittest2.TestLoader() suite = loader.loadTestsFromName('testcase_1.test', m) self.assertIsInstance(suite, loader.suiteClass) self.assertEqual(list(suite), [MyTestCase('test')]) # "The specifier name is a ``dotted name'' that may resolve either to # a module, a test case class, a TestSuite instance, a test method # within a test case class, or a callable object which returns a # TestCase or TestSuite instance." # # Does loadTestsFromName() raise the proper exception when trying to # resolve "a test method within a test case class" that doesn't exist # for the given name (relative to a provided module)?
Example #18
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromName__callable__TestCase_instance(self): m = types.ModuleType('m') testcase_1 = unittest2.FunctionTestCase(lambda: None) def return_TestCase(): return testcase_1 m.return_TestCase = return_TestCase loader = unittest2.TestLoader() suite = loader.loadTestsFromName('return_TestCase', m) self.assertIsInstance(suite, loader.suiteClass) self.assertEqual(list(suite), [testcase_1]) # "The specifier name is a ``dotted name'' that may resolve ... to # ... a callable object which returns a TestCase ... instance" #***************************************************************** #Override the suiteClass attribute to ensure that the suiteClass #attribute is used
Example #19
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromName__callable__TestCase_instance_ProperSuiteClass(self): class SubTestSuite(unittest2.TestSuite): pass m = types.ModuleType('m') testcase_1 = unittest2.FunctionTestCase(lambda: None) def return_TestCase(): return testcase_1 m.return_TestCase = return_TestCase loader = unittest2.TestLoader() loader.suiteClass = SubTestSuite suite = loader.loadTestsFromName('return_TestCase', m) self.assertIsInstance(suite, loader.suiteClass) self.assertEqual(list(suite), [testcase_1]) # "The specifier name is a ``dotted name'' that may resolve ... to # ... a test method within a test case class" #***************************************************************** #Override the suiteClass attribute to ensure that the suiteClass #attribute is used
Example #20
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromName__relative_testmethod_ProperSuiteClass(self): class SubTestSuite(unittest2.TestSuite): pass m = types.ModuleType('m') class MyTestCase(unittest2.TestCase): def test(self): pass m.testcase_1 = MyTestCase loader = unittest2.TestLoader() loader.suiteClass=SubTestSuite suite = loader.loadTestsFromName('testcase_1.test', m) self.assertIsInstance(suite, loader.suiteClass) self.assertEqual(list(suite), [MyTestCase('test')]) # "The specifier name is a ``dotted name'' that may resolve ... to # ... a callable object which returns a TestCase or TestSuite instance" # # What happens if the callable returns something else?
Example #21
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromName__callable__wrong_type(self): m = types.ModuleType('m') def return_wrong(): return 6 m.return_wrong = return_wrong loader = unittest2.TestLoader() try: loader.loadTestsFromName('return_wrong', m) except TypeError: pass else: self.fail("TestLoader.loadTestsFromName failed to raise TypeError") # "The specifier can refer to modules and packages which have not been # imported; they will be imported as a side-effect"
Example #22
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromNames__callable__wrong_type(self): m = types.ModuleType('m') def return_wrong(): return 6 m.return_wrong = return_wrong loader = unittest2.TestLoader() try: loader.loadTestsFromNames(['return_wrong'], m) except TypeError: pass else: self.fail("TestLoader.loadTestsFromNames failed to raise TypeError") # "The specifier can refer to modules and packages which have not been # imported; they will be imported as a side-effect"
Example #23
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromNames__callable__call_staticmethod(self): m = types.ModuleType('m') class Test1(unittest2.TestCase): def test(self): pass testcase_1 = Test1('test') class Foo(unittest2.TestCase): def foo(): return testcase_1 foo = staticmethod(foo) m.Foo = Foo loader = unittest2.TestLoader() suite = loader.loadTestsFromNames(['Foo.foo'], m) self.assertIsInstance(suite, loader.suiteClass) ref_suite = unittest2.TestSuite([testcase_1]) self.assertEqual(list(suite), [ref_suite]) # "The specifier name is a ``dotted name'' that may resolve ... to # ... a callable object which returns a TestCase or TestSuite instance" # # What happens when the callable returns something else?
Example #24
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromNames__callable__TestSuite(self): m = types.ModuleType('m') testcase_1 = unittest2.FunctionTestCase(lambda: None) testcase_2 = unittest2.FunctionTestCase(lambda: None) def return_TestSuite(): return unittest2.TestSuite([testcase_1, testcase_2]) m.return_TestSuite = return_TestSuite loader = unittest2.TestLoader() suite = loader.loadTestsFromNames(['return_TestSuite'], m) self.assertIsInstance(suite, loader.suiteClass) expected = unittest2.TestSuite([testcase_1, testcase_2]) self.assertEqual(list(suite), [expected]) # "The specifier name is a ``dotted name'' that may resolve ... to # ... a callable object which returns a TestCase ... instance"
Example #25
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromNames__malformed_name(self): loader = unittest2.TestLoader() # XXX Should this raise ValueError or ImportError? try: loader.loadTestsFromNames(['abc () //']) except ValueError: pass except ImportError: pass else: self.fail("TestLoader.loadTestsFromNames failed to raise ValueError") # "The specifier name is a ``dotted name'' that may resolve either to # a module, a test case class, a TestSuite instance, a test method # within a test case class, or a callable object which returns a # TestCase or TestSuite instance." # # What happens when no module can be found for the given name?
Example #26
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromNames__relative_testmethod(self): m = types.ModuleType('m') class MyTestCase(unittest2.TestCase): def test(self): pass m.testcase_1 = MyTestCase loader = unittest2.TestLoader() suite = loader.loadTestsFromNames(['testcase_1.test'], m) self.assertIsInstance(suite, loader.suiteClass) ref_suite = unittest2.TestSuite([MyTestCase('test')]) self.assertEqual(list(suite), [ref_suite]) # "The specifier name is a ``dotted name'' that may resolve ... to ... a # test method within a test case class" # # Does the method gracefully handle names that initially look like they # resolve to "a test method within a test case class" but don't?
Example #27
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromNames__relative_empty_name(self): loader = unittest2.TestLoader() try: loader.loadTestsFromNames([''], unittest2) except AttributeError: pass else: self.fail("Failed to raise ValueError") # "The specifier name is a ``dotted name'' that may resolve either to # a module, a test case class, a TestSuite instance, a test method # within a test case class, or a callable object which returns a # TestCase or TestSuite instance." # ... # "The method optionally resolves name relative to the given module" # # What happens when presented with an impossible attribute name?
Example #28
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromNames__relative_malformed_name(self): loader = unittest2.TestLoader() # XXX Should this raise AttributeError or ValueError? try: loader.loadTestsFromNames(['abc () //'], unittest2) except AttributeError: pass except ValueError: pass else: self.fail("TestLoader.loadTestsFromNames failed to raise ValueError") # "The method optionally resolves name relative to the given module" # # Does loadTestsFromNames() make sure the provided `module` is in fact # a module? # # XXX This validation is currently not done. This flexibility should # either be documented or a TypeError should be raised.
Example #29
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromNames__relative_not_a_module(self): class MyTestCase(unittest2.TestCase): def test(self): pass class NotAModule(object): test_2 = MyTestCase loader = unittest2.TestLoader() suite = loader.loadTestsFromNames(['test_2'], NotAModule) reference = [unittest2.TestSuite([MyTestCase('test')])] self.assertEqual(list(suite), reference) # "The specifier name is a ``dotted name'' that may resolve either to # a module, a test case class, a TestSuite instance, a test method # within a test case class, or a callable object which returns a # TestCase or TestSuite instance." # # Does it raise an exception if the name resolves to an invalid # object?
Example #30
Source File: test_loader.py From ConTroll_Remote_Access_Trojan with Apache License 2.0 | 6 votes |
def test_loadTestsFromNames__relative_TestCase_subclass(self): m = types.ModuleType('m') class MyTestCase(unittest2.TestCase): def test(self): pass m.testcase_1 = MyTestCase loader = unittest2.TestLoader() suite = loader.loadTestsFromNames(['testcase_1'], m) self.assertIsInstance(suite, loader.suiteClass) expected = loader.suiteClass([MyTestCase('test')]) self.assertEqual(list(suite), [expected]) # "The specifier name is a ``dotted name'' that may resolve ... to # ... a TestSuite instance"