tester = $tester; $this->objectModel = $tester->loadModel('execution'); $tester->app->setModuleName('execution'); $this->executionZenTest = initReference('execution'); } /** * 将导入的Bug转为任务。 * * @param string $mode normal|emptyData|errorEstimate|errorDeadline * @access public * @return array */ public function buildTasksForImportBugTest(string $mode = 'normal'): array { $method = $this->executionZenTest->getMethod('buildTasksForImportBug'); $method->setAccessible(true); $postData = array(); $execution = $this->objectModel->fetchByID(3); if($mode != 'emptyData') { $tasks = $this->objectModel->dao->select('*')->from(TABLE_TASK)->fetchAll('id'); foreach($tasks as $taskID => $task) { if($mode == 'errorEstimate') $task->estimate = -1; if($mode == 'errorDeadline') { $task->deadline = '2025-08-25'; $task->estStarted = '2025-08-26'; } $postData[$taskID] = $task; } } $result = $method->invokeArgs($this->executionZenTest->newInstance(), [$execution, $postData]); if(dao::isError()) return dao::getError(); return $result; } /** * 给详情页面分配变量。 * Given variables to view page. * * @param int $executionID * @access public * @return object */ public function assignViewVarsTest(int $executionID): object { return callZenMethod('execution', 'assignViewVars', [$executionID], 'view'); } }