Sto testando un po 'di codice PHP con SimpleTest e ho avuto dei problemi. Nei miei test di una classe di database voglio essere in grado di impostare un'aspettativa per le funzioni di PHP mysql
. Nei miei test di una classe wrapper per la funzione mail
voglio prendere in giro la funzione PHP mail
. Questi sono solo alcuni esempi.Mocking delle funzioni PHP nei test unitari
Il punto è: non voglio (sempre) verificare se la mia classe Mail invia e-mail, voglio testare come chiama la funzione mail
. Voglio essere in grado di controllare cosa restituiscono queste funzioni. Voglio essere in grado di testare la mia classe Database senza bisogno di un database, fixture e tutto questo.
Ho una certa esperienza con il test del codice Ruby e Test :: Unit e RSpec rendono molto semplice testare il codice in isolamento. Sono nuovo a testare PHP e mi sembra di testare molto più di quanto avrei dovuto, al fine di far passare i miei test.
C'è un modo in SimpleTest o PhpUnit o qualche altro framework di test che rende questo possibile o più semplice?
Vedo. Mi aspettavo (ma non ho sperato) una simile risposta. Non insisto davvero, dal momento che voglio semplificare e accelerare i test, non renderlo più complesso. Grazie per la risposta! – avdgaag
Ora [Mockery] (http://docs.mockery.io/en/latest/cookbook/mocking_hard_dependencies.html) sembra la [strada da percorrere] (http://stackoverflow.com/a/42158443/659788). – Franco
@Franco Non per i builder. – troelskn