/** * Populate the collection of test case objects of a given test Suite * from an array that contains test cases path * * @param TestSuite $testSuite Target test suite to populate * @param Array $testCaseArray List of testcases to attach to the testsuite * @param Boolean $isDependency Is the testcases added by the user or added as dependency * * @return Array */ function populateTestSuite($testSuite, $testCasesArray, $isDependency = false) { foreach ($testCasesArray as $test) { try { $testCase = new TestCase(substr($test, 0, -3)); if ($testCase->checkTags()) { $missingParams = $testCase->checkSetupParams(); if (!empty($missingParams)) { $this->error[] = 'Testcase "' . $test . '" requeires missing conf param(s): ' . join(', ', $missingParams); } $dependencies = $testCase->getDependencies(); try { $this->attachDependencies($testSuite, $dependencies, $test); } catch (OutOfRangeException $exception) { $this->error[] = $exception->getMessage(); } $testSuite->attach($testCase, $isDependency); $this->storeTestCase($testCase, $testSuite); } else { $this->error[] = 'Testcase "' . $test . '" were removed due to an incompatible tag'; } } catch (RuntimeException $e) { $this->logger->LogWarning($e->getMessage()); $this->error[] = $e->getMessage(); } } return array("info" => $this->info, "error" => $this->error); }
/** * Display test case as HTML output * * @param String $name The test case name * * @return String */ function rspecPrettyFormat($testCaseName) { $testCaseObj = new TestCase($testCaseName); $rspecStructure = $testCaseObj->retrieveRspecStructure(); $rspecOutput = '<br><pre>ClassName : ' . $testCaseObj->name . '.rb'; $rspecOutput .= '<br><br><b>' . count($rspecStructure) . ' Rspec examples:</b> <br><br>'; foreach ($rspecStructure as $testString) { $rspecOutput .= '<span style="padding: 25px;">' . $testString . '</span><br>'; } $rspecOutput .= '<br>'; $dependencies = $testCaseObj->getDependencies(); if (!empty($dependencies)) { $rspecOutput .= '<b>' . count($dependencies) . ' test(s) in the dependency list</b>:<br><br>'; foreach ($dependencies as $deps) { $rspecOutput .= '<span style="padding: 25px;">' . $deps . '</span><br>'; } } $rspecOutput .= '<br></pre>'; return $rspecOutput; }