Hi,

hat jemand PHPUnit2 im Verwendung? Wenn ja, wie habt ihr folgendes Problem der Kapselung gelöst:

class GibsDuMirKorrekt
{

    var $fuellMich;

    function hasteNichGesehen()
    {
        $this->fuellMich = new GibsDuMirMehr;
        if ($this->fuellMich == false) {
throw new Exception('Error in Module Won32 or Lost64 at address 0815:4711');
        }
        return true;
    }

}

class GibsDuMirKorrektTest  extends PHPUnit_Framework_TestCase
{
    function testHasteNichGesehen()
    {
        $object = new GibsDuMirKorrekt;
        $this->assertSame(true, $object->hasteNichGesehen());
    }
}

Die Ergebnisse von GibsDuMirMehr sind nicht gekapselt und ich kann auch kein stub (mit $this->getMock('GibsDuMirMehr')) in hasteNichGesehen injecten, ohne diesen von aussen als Parameter zu übergeben. Kennt ihr ein besseres Verfahren?

Da Unit testing auch in anderen Sprachen verfügbar ist, kann evtl. ein PHP-Fremdsprachler dieses prinzipielle Problem trotzdem lösen.

Danke und Gruß
Silvério
--
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an