Warning: file_get_contents(http://graph.facebook.com/http://youthcoders.net/index.php): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /var/www/old-yc/plugins/content/addthis.php on line 38
Simple test Drukuj
Ocena użytkowników: / 0
SłabyŚwietny 
Wpisany przez Patryk yarpo Jar   
sobota, 05 grudnia 2009 18:08

Artykuł ten jest niejako rozszerzeniem artykułu o unit testach.

Oto przykład bardzo przyjemnej w stosowaniu bibliteki PHP - Simple Test. Bibliteka ta ułatwia tworzenie testów jednostkowych.

Instalacja i użycie:

  1. Pobrać SimpleTest na swój komputer.
  2. Rozpakować pobrany plik. Proponuję umieścić rozpakowane pliki w folderze o nazwie `unit_test/simpletest' (jeśli używasz innego systemu niż Windows, wielkośc liter ma znaczenie) w katalogu DocumentRoot twojego lokalnego serwera. (powinien być w takim, miejscu, aby po wpisaniu adresu: `127.0.0.1/simpletest` pojawil się spi plików tego folderu)

To powinno być widać

W katalogu `unit_test` stworzyć dwa pliki: `index.php' oraz `SimpleClass.php'.

Kod `index.php':

<?php
require_once('simpletest/autorun.php');
require_once('SimpleClass.php');
 
class SimpleClassTest extends UnitTestCase {
    function testMyValue()
    {
        $simpleClassInstance = new SimpleClass('napis');
        $this->assertTrue('napis' == $simpleClassInstance->getMyValue());
    }
}
?>

Kod `SimpleClass.php':

<?PHP
class SimpleClass
{
    private $value;
    public function __construct($v) { $this->value = $v; }
    public function getMyValue() { return $this->value; }
}
?>

  1. Uruchomić serwer www i otworzyć stronę `http://127.0.0.1/unit_test/'. Powinieneś zobaczyć coś takiego:

Wynik działania simpleTest

Spróbuj teraz zmienić kod w `index.php':

<?php
require_once('simpletest/autorun.php');
require_once('SimpleClass.php');
class SimpleClassTest extends UnitTestCase
{
    function testMyValue()
    {
        $simpleClassInstance = new SimpleClass('napis');
        $this->assertTrue('napis' ==
$simpleClassInstance->getMyValue());
    }
    function testMyValue2()
    {
        $simpleClassInstance = new SimpleClass('napis');
        $this->assertFalse('napis' ==
$simpleClassInstance->getMyValue());
    }
}
?>

Powinieneś uzyskać coś takiego:

Informacja o błędach w testach

Jak widzisz wszystko ładnie wypisuje. Nie przeszedł test o nazwie testMyValue2, "oczekiwana wartość false. Otrzymano true". Linia 17.

Oczywiścier to nie koniec możliwości Simple Test. Ale to pozostałych możliwościahc tej bardzo przyjaznej w użytkowniau biblioteki możesz przeczytać na oficjalnej stronie.