OVH Cloud OVH Cloud

TDD et python

8 réponses
Avatar
Didier
Bonjour,

Je suis en train de m'initier au développement dirigé par les tests
(TDD en anglais) et je regardais du côté de ce cher python pour voir
ce qui existait.

J'ai découvert avec plaisir qu'un module, unittest, existait par défaut
dans python.

Est-ce que l'un d'entre vous l'utilise ? Si oui comment l'avez-vous
appréhender ?

Cordialement.
--
Didier BRETIN
http://www.bretin.net/

8 réponses

Avatar
William Dode
On 27-07-2005, Didier wrote:
Bonjour,

Je suis en train de m'initier au développement dirigé par les tests
(TDD en anglais) et je regardais du côté de ce cher python pour voir
ce qui existait.

J'ai découvert avec plaisir qu'un module, unittest, existait par défaut
dans python.

Est-ce que l'un d'entre vous l'utilise ? Si oui comment l'avez-vous
appréhender ?


Oui, jamais assez. De la manière la plus simple.
class MyTests(unittest.TestCase):
def test_xxx...

etc.

Mais ta question est peut-être plus vaste ?

--
William Dodé - http://flibuste.net

Avatar
Didier BRETIN
Bonjour William,

Est-ce que l'un d'entre vous l'utilise ? Si oui comment l'avez-vous
appréhender ?



Oui, jamais assez. De la manière la plus simple.
class MyTests(unittest.TestCase):
def test_xxx...

etc.

Mais ta question est peut-être plus vaste ?


Oui :), dans quel type de projet l'utilises-tu ? Sur SEPS ?
Sur des logiciels avec interface graphique ?

@+
--
Didier BRETIN
http://www.bretin.net/


Avatar
William Dode
On 28-07-2005, Didier BRETIN wrote:
Bonjour William,

Est-ce que l'un d'entre vous l'utilise ? Si oui comment l'avez-vous
appréhender ?



Oui, jamais assez. De la manière la plus simple.
class MyTests(unittest.TestCase):
def test_xxx...

etc.

Mais ta question est peut-être plus vaste ?


Oui :), dans quel type de projet l'utilises-tu ? Sur SEPS ?


Oui, sur seps par exemple avec des tests unitaires je cré des faux
joueurs, je les fait jouer etc.
Pour les applis web y a deux solutions, soit j'utilise carément urllib
pour tester l'appli comme d'un navigateur, soit j'importe des bouts de
programme à tester (plus rapide).

Sur des logiciels avec interface graphique ?


J'essaye de faire toutes mes interfaces graphiques en pages web, même
pour les applis intra... Sinon il faut bien découper l'appli pour
pouvoir la tester, d'où l'intérêt de préparer les tests unitaires avant
l'appli elle-même.

--
William Dodé - http://flibuste.net



Avatar
Hervé Cauwelier
soit j'utilise carément urllib
pour tester l'appli comme d'un navigateur


Ça ressemble plus à des tests fonctionnels.

--
Hervé Cauwelier
http://www.oursours.net/

Avatar
William Dode
On 28-07-2005, Hervé Cauwelier wrote:
soit j'utilise carément urllib
pour tester l'appli comme d'un navigateur


Ça ressemble plus à des tests fonctionnels.



Raconte, je ne suis pas au jus avec les termes exacts...


--
William Dodé - http://flibuste.net


Avatar
Hervé Cauwelier
Raconte, je ne suis pas au jus avec les termes exacts...


Test unitaire, tu prend une fonction ou une méthode isolée (avec le
moins de dépendances possibles) et tu vérifies qu'elle retourne le
résultat attendu avec les bonnes valeurs, qu'elle se plaigne des
mauvaises valeurs, les cas courants, les cas tordus, etc. Tu testes un
algorithme, en gros.

Test fonctionnel, tu fais tourner toute l'application et tu vérifies
qu'elle se comporte comme attendu, les enchaînement d'écran, les pages
d'erreur, les formulaires, les liens cassés, etc. Tu établis un ou
plusieurs scénarios d'utilisation de l'application et un testeur humain
ou automatisé exécute le scénario.

--
Hervé Cauwelier
http://www.oursours.net/

Avatar
William Dode
On 28-07-2005, Hervé Cauwelier wrote:
Raconte, je ne suis pas au jus avec les termes exacts...


Test unitaire, tu prend une fonction ou une méthode isolée (avec le
moins de dépendances possibles) et tu vérifies qu'elle retourne le
résultat attendu avec les bonnes valeurs, qu'elle se plaigne des
mauvaises valeurs, les cas courants, les cas tordus, etc. Tu testes un
algorithme, en gros.

Test fonctionnel, tu fais tourner toute l'application et tu vérifies
qu'elle se comporte comme attendu, les enchaînement d'écran, les pages
d'erreur, les formulaires, les liens cassés, etc. Tu établis un ou
plusieurs scénarios d'utilisation de l'application et un testeur humain
ou automatisé exécute le scénario.



Merci pour cette précision, j'ai effectivement plutôt tendance à faire
des tests fonctionnels.

--
William Dodé - http://flibuste.net


Avatar
Bruno Desthuilliers
Bonjour,

Je suis en train de m'initier au développement dirigé par les tests
(TDD en anglais) et je regardais du côté de ce cher python pour voir
ce qui existait.


Tout le nécessaire - comme d'hab !-)

J'ai découvert avec plaisir qu'un module, unittest, existait par défaut
dans python.


Il existe aussi py.test, qui est plus "léger" à mettre en oeuvre, et
AMHA plus pythonique.

http://codespeak.net/py/current/doc/test.html