Bonjour à tous,
après moultes hésitations je me décide enfin à mettre en place des tests unitaires , au moins pour mes classes les plus importantes. Mais quelques questions me viennent :
Prenons ce test que je viens d'écrire :
Est il correct ? Parce que finalement il y'a une infinité de tests possible pour vérifier que ma méthode isIp marche correctement. Dois je simplement vérifier qu'elle me renvoie true sur une ip correcte ou au contraire faire plus de test sur de mauvaise ip ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public function testIsIp() { $ip = '172.16.12.82'; $ip2 = '172.256.32.44'; $ip3 = 'abc.def.cc.qq'; $ip4 = '123654789'; $this->assertIsA(Util_String::isIp($ip),'bool'); $this->assertTrue(Util_String::isIp($ip)); $this->assertFalse(Util_String::isIp($ip2)); $this->assertFalse(Util_String::isIp($ip3)); $this->assertFalse(Util_String::isIp($ip4)); }
Dans le même esprit , comment puis je tester une méthode sensé me retourner une chaine aléatoire ? A part un assertIsA($chaine,'string') , je peux pas tester grand chose et dans ce cas précis j'ai l'impression de tester si l'eau sa mouille ...
Dernière question mais pas des moindre , comment justifiez vous du temps passer à écrire des tests ? Parce que ca prend limite plus de temps que de construire la classe testé, et du coup pour mes supérieurs non technique tant qu'il ne vois pas un nouveau bouton sur leur écran , j'ai rien foutu ... Et entre "code plus robuste", "économie sur le long terme" ," temps de développement plus long" il ne retiennent évidement que le dernier.
Merci pour vos réponses
Partager