Door
D Vivendi
op 03-12-2013 09:57
gewijzigd op 03-12-2013 10:05
1.342 views
Ik heb een unit test en mocking framework geschreven en nu wil ik eigenlijk weten of het voor andere net zo goed werkt als voor mij.
Mocht iemand interesse hebben om het eens uit te proberen, dan kun je het downloaden op deze GitHUb pagina.
Daarin staat uiteraard ook de uitleg hoe je het in detail moet gebruiken.
Schroom je overigens niet om het project te "Watchen" of the "Starren" als je zelf ook een github account hebt. Dat zou ik enorm waarderen.
Nu weet ik natuurlijk niet hoeveel er hier ook daadwerkelijk OO programmeren, laat staan hun code unit testen. Maar ik zou zeggen, misschien is dit dan een goed begin ;)
Jouw mocking is heel vaag. Het nut van mocking is juist dat je de andere klasse niet initialiseert, zodat je niet afhankelijk bent van het feit of die klasse goed werkt of niet.
Wat jij doet is bij het mocken een nieuwe klasse aanmaken, dat is nu net niet de bedoeling.
@Ward van der Put
De rede dat ik voor die vorm heb gekozen is omdat je op die een soort "fluent" achtige syntax hebt. Ik vind het persoonlijk makkelijk lezen en uitbreiden. Je kan bijvoorbeeld ook dit doen:
Dus eigenlijk meer een kwestie van smaak denk ik en ook gewenning uit de .NET wereld waar dit idee vandaan komt. Maar goed, dit is PHP en daarom belangrijk om te weten wat mensen fijner vinden. Dan kan ik het altijd nog aanpassen :)
@Wouter J
Je hebt inderdaad gelijk wat betreft het initialiseren van een object voor het mocken. Dat zou niet moeten op de manier hoe ik dat nu doe. Dat ga ik nog ff verbeteren.
Ik vind het ook wel fijn werken (al zou ik wel altijd beginnen met een lowercase letter). Ziet er een beetje uit als de geweldige syntax van PHPspec:
<?php
// ...
class StopwatchSpec extends ObjectBehaviour
{
public function it_cannot_stop_when_not_started()
{
$this->shouldThrow(\LogicException)->duringStop();
}
public function it_times_the_laps()
{
$this->start();
sleep(1200);
$this->lap();
sleep(1200);
$this->stop();