Non esegui test unitari delle funzioni native della lingua. Prova il tuo codice. Fai affidamento sulla lingua che utilizzi e su qualsiasi libreria di terze parti.
Codice libreria / lingua
Se vuoi che il codice esterno sia testato, va bene, ma non all'interno del tuo progetto. Batti il software di terze parti e fai i test lì , che si tratti di PHP o di una classe mailer o altro. Al giorno d'oggi molti progetti vengono forniti con test unitari, quindi è probabile che sia già disponibile per te.
La ragione è semplice. Non appena si aggiusta qualcosa in un software di terze parti, si perde immediatamente la capacità di aggiornamento, e quindi il più grande vantaggio dall'utilizzo di tale software. Il forking nei tuoi (sotto) progetti funziona come un proxy, in cui puoi cambiare il software, ma puoi ancora aggiornarlo (ad esempio usando git rebase
), e, come extra, puoi facilmente contribuire ai progetti, tu fare affidamento su.
Risorse
Se tu - come hai detto nel tuo commento - vuoi rendere testabile FTP (o MySQL o qualsiasi altra cosa), cioè, ottenere l'indipendenza dalle risorse PHP, incapsularle nelle loro classi. Se usi una classe FTP come
class FTP
{
...
public function connect($server, $user, $pass)
{
...
}
public function put($bytes)
{
...
}
...
}
in combinazione con Dependency Injection, puoi facilmente deriderlo. La classe stessa di solito non è testata da unità: è oggetto di un test di integrazione in un ambiente controllato.