Kontinuerlig testkörning i PHP

Så fick jag lust att pröva på kontinuerlig testkörning i webbprogrammeringsmiljö.

Eftersom jag sitter på Ubuntu 8.10 nuförtiden, och man där lätt kan editera textfiler på ftp-siter man kopplar upp sig till (Platser->Anslut till server… sedan är det bara att browsa/skapa filer/editera!) fick jag den galna idén att bygga ett autotest.php-script som körs kontinuerligt (autorefresh) i ett browserfönster.

Sagt och gjort hackade jag ihop en autotest.php-fil med html+javascript+php-kod som likt mitt tidigare inlägg om Kontinuerlig testkörning i Python anropar en Tests.php-fil ungefär var 5e sekund.

Jag publicerar härmed autotest.php-scriptet som Public Domain så det är bara att sno om du vill använda det/förbättra det.


<html>
<head>
<script>
<!--
function laddaom(){
  setTimeout("window.location.reload()", 5000)
}
window.onload=laddaom
//-->
</script>
</head>
<body>
<?php
echo date ("H:i.s");
echo ": Kör självtester...
";

assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 1);
assert_options(ASSERT_QUIET_EVAL, 1);

$bgcolor = "99ff99";
function my_assert_handler($file, $line, $code)
{
    global $bgcolor;
    echo "<hr><font color=#990000>";

    echo "Test på rad $line paj!</font>
";
    $bgcolor = "ff9999";
}
assert_options(ASSERT_CALLBACK, 'my_assert_handler');

include_once("Tests.php");
echo "<hr>";
echo date ("H:i.s");
echo ": Klart.
";
?>
<script>
<!--
document.bgColor = '<?php echo $bgcolor; ?>'
-->
</script>
</body <?php echo "bgcolor='#$bgcolor'"; ?>>
</html>

autotest.php

Så här funkar det:

Det körs direkt på servern när man surfar till det t.ex. mysite.se/autotest.php

Det kör ett separat script ”Tests.php” där man lägger sina enhetstester

Det färgar bakgrunden grön om alla tester går igenom, rött annars

Man stänger av det genom att stänga browsern helt enkelt! Kan det bli renare?

Screenshot på min php autotest-miljö

Screenshot på min php autotest-miljö

Taggar: , , , ,

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s

%d bloggare gillar detta: