1 of 14

Mocking, ou comment tester ce qui est difficile à tester

2 of 14

Maxime Rouiller

Dévelopeur .NET Sénior

Innobec Technologies

ASP.NET MVP

3 of 14

Agenda

Qu'est-ce qu'un mock?

Pourquoi doit-on mocké?

Architecture testable

Outils de mocking

4 of 14

Sondage

  • Qui fait des tests unitaires?
  • Qui fait du TDD au travail?
  • Qui fait des mock?

5 of 14

Qu'est-ce qu'un mock?

Objet programmé pour émulé un vrai système

Comme un crash test dummy

6 of 14

Pourquoi un mock?

  • Facilite les tests unitaires
  • Extraire les dépendances lente du système
  • Remplacer par des dépendances rapide
  • Conception d'un système en absence des dépendances (BD, emails, etc.)

7 of 14

Type de tests

White box

  • White box
    • On teste les intéractions à l'intérieur de la classe
  • Black box
    • On teste les valeurs retournés

8 of 14

Démo

Utilisation de Mock

9 of 14

Architecture testable

Dépendances doivent être séparé de la logique d'affaire

Buts:

  • Tests rapides
  • Tests constant (ne crash pas)

10 of 14

Mocking avec des outils

Plusieurs outils:

  • Moq (Open source)
  • RhinoMock (Open source)
  • TypeMock ($$$)

11 of 14

Démo

Mocking avec Moq

12 of 14

Question?

Insultes?

13 of 14

Shameless plug

Innobec engage

  • Développeur C++ multi-plateforme
  • Developpeur C# ASP.NET MVC
  • Developpeur Web Front-end
  • Developpeur Mobile iOS / Android
  • Support et Assurance-Qualité

http://www.innobec.com

14 of 14

Me contacter

Twitter: @MaximRouiller

Blog: http://blog.DecayingCode.com

Email: maxime@DecayingCode.com

LinkedIn: "Maxime Rouiller"