def test_load_module__should_succeed_for_existing_module(self): module_name = "test._importer_candidate" self.theory.ensure_module_is_not_imported(module_name) module = load_module(module_name) self.theory.assert_module_with_name(module, module_name) self.theory.assert_module_is_imported(module_name)
def test_load_module__should_succeed_for_already_imported_module(self): module_name = "behave.importer" self.theory.assert_module_is_imported(module_name) module = load_module(module_name) self.theory.assert_module_with_name(module, module_name) self.theory.assert_module_is_imported(module_name)
def load_formatter_class(scoped_class_name): """Load a formatter class by using its scoped class name. :param scoped_class_name: Formatter module and class name (as string). :return: Formatter class. :raises: ValueError, if scoped_class_name is invalid. :raises: ImportError, if module cannot be loaded or class is not in module. """ if ":" not in scoped_class_name: message = 'REQUIRE: "module:class", but was: "%s"' % scoped_class_name raise ValueError(message) module_name, class_name = parse_scoped_name(scoped_class_name) formatter_module = load_module(module_name) formatter_class = getattr(formatter_module, class_name, None) if formatter_class is None: raise ImportError("CLASS NOT FOUND: %s" % scoped_class_name) return formatter_class
def test_load_module__should_fail_for_unknown_module(self): with pytest.raises(ImportError) as e: load_module("__unknown_module__")