class ModuleUnitTestRunner(SimpleRpcLogicBase): def __post_init__(self): self.twins_manager = TwinModulesManager(self.context) self.file_manager = FileManager(self.context) self.nodejs = NodeJsRunner(self.context) def runTestByNumber(self, package, test_number): tests_dict = self._getTestDict() sorted_names = self.__getSortedNames(tests_dict) new_dict = dict((module.__name__, class_) for module, class_ in tests_dict.items()) tester_class = new_dict[sorted_names[test_number]] self.runPythonTest(tester_class) def __runUnitTest(self, tester_class): tester_class.setTestsContext(self.context) suite = TestLoader().loadTestsFromTestCase(tester_class) TextTestRunner().run(suite) def runPythonTest(self, tested_class): tester_class = self.twins_manager.getTesterFromTested(tested_class) path = self.file_manager.formatClassFilePath(tester_class) name = tester_class.__name__ self.log.d('Running %r test at:\n %s' % (name, path)) #self.module_unit_test_runner.runPythonTest(tester_class) self.__runUnitTest(tester_class) def runJsTest(self, tested_class): file_path = self.twins_manager.getJsUnittest(tested_class) path = self.file_manager.formatFilePath(file_path) self.log.d('Running jasmine test at:\n%s' % path) ret_val = self.nodejs.runJasmineTest(file_path) if ret_val: raise SimpleRpcError('Jasmine test failed')
def __post_init__(self): self.twins_manager = TwinModulesManager(self.context) self.file_manager = FileManager(self.context) self.nodejs = NodeJsRunner(self.context)