Autor Zpráva
phpunit
Profil *
Dobrý den, chtěl sem se zeptat, jak lze otestovat toto, pomocí PHPunit:
abstract class Abstract_DataObjects implements ArrayAccess, IteratorAggregate, Countable
{
  abstract protected function setUp();
  ....
}

Našel jsem nějaký články na netu, ve kterých se používali konstrukce s :
$this->getMockForAbstractClass()
Boužel se mi ji nepovedlo aplikovat na metodu setUp().
Předem děkují za odpovědi. (ps: neumím anglicky :)
tiso
Profil
phpunit: nejaká dôvod prečo chceš testovať abstraktnú metódy abstraktnej triedy miesto jej nasledovníka?
phpunit
Profil *
tiso: Ok, to nezní jako špatný nápad, abych se přiznal, sem teprv začátečník, co se PHPUnit týče.
Ale i tak, ze zvědavosti, existuje nějaký způsob jak otestovat přímo tu abstract metodu, třeba test na návratovou hodnotu NULL?
ShiraNai7
Profil
phpunit:
Ale i tak, ze zvědavosti, existuje nějaký způsob jak otestovat přímo tu abstract metodu, třeba test na návratovou hodnotu NULL?

Dá (viz ten mock co jsi psal), ale nedává moc smysl testovat něco, co zrovna mockuješ, aby vracelo NULL..
Jan Tvrdík
Profil
phpunit:
existuje nějaký způsob jak otestovat přímo tu abstract metodu, třeba test na návratovou hodnotu NULL?
Co bys chtěl testovat na metodě, která nemá implementaci? Že existuje? Abstraktní metody nevrací NULL.
phpunit
Profil *
ShiraNai7:
Moh bych poprosit o názornou ukázku pomocí toho mocku?

Jan Tvrdík:
Nepotřebuji nutně aby ten test prošel, jen sem chtěl vidět příklad jak by se to udělalo.
Jan Tvrdík
Profil
phpunit:
jak by se to udělalo
Jak by se co udělalo? Testovat abstraktní metodu nejde. Jde testovat neabstraktní metody abstraktní třídy.
phpunit
Profil *
Jan Tvrdík:
Děkuji za odpověď, akorát by mně teď zajímalo tedy, jak to myslel ShiraNai7, že pomocí mock to jde.

Něco málo sem si o tom mock přečetl, bohužel anglicky a google technický věci nepřekládá zrovna moc dobře, ale jestli sem daný text pochopil dobře, tak ten mock přepíše danou metodu v daný třídě (podstrčí novou), tou kterou si nadefinujeme, a ta už tedy abstractní není a pak se testuje tato podstrčená metoda? Omlouvám se jestli sem teď napsal hloupost :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: