Borek (Pá, 2008-06-27 10:27):

SimpleTest má několik možností spuštění. Asi nejjednodušší je napsat naprosto běžnou PHP třídu a jen na začátek přidat require_once ‚simpletest/au­torun.php‘ – soubor obsahující test pak stačí načíst v prohlížeči.

Jak jsem ale tvořil víc a víc testů v různých souborech, stal se tento přístup málo pružným. Nakonec jsem si napsal jednoduchý skript, který projde adresář „tests“ a najde všechny soubory končící na „Test.php“ a zahrne je to testovací suity. Vypadá to nějak takto: (ještě jsem přidal možnost určit testy explicitně pomocí parametru v query stringu, takže můžu zavolat něco jako testrunner.php?t=Ob­jectUtilTest,Ga­tewayTest)

<?php
require_once '../lib/simpletest/unit_tester.php';
require_once '../lib/simpletest/reporter.php';

$tests = new TestSuite("Property Owners web service test suite");

if (isset($_GET['t'])) {

  // In the 't' parameter, there can be a comma-delimited list of tests to run.
  // Examples:
  //   t=ObjectUtilTest
  //   t=ObjectUtilTest,ResponseBuilderTest
  //   t=ObjectUtil,ResponseBuilder    <-- "Test" suffix is optional

  $tests_to_run = explode(",", $_GET['t']);
  foreach ($tests_to_run as $test) {
    if (file_exists($test . "Test.php")) {
      $filename = $test . "Test.php";
    } else {
      $filename = $test . ".php";
    }

    $tests->addFile($filename);
  }


} else {

  $files = scandir(".");
  foreach ($files as $file) {
    if (strpos($file, "Test.php") !== false) {
      $tests->addFile($file);
    }
  }

}
$tests->run(new HtmlReporter());

?>
Odpovědět
Obsah tohoto pole je soukromý a nebude veřejně zobrazen.
Více informací o možnostech formátování