tests unitaires avec fakeiteasy

18
Tests unitaires en .NET avec FakeItEasy QC | Pratique Microsoft | 2014-06-26 Wesley Alcoforado

Upload: wesley-alcoforado

Post on 07-Apr-2017

614 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Tests unitaires avec FakeItEasy

Tests unitaires en .NET avec FakeItEasy

QC | Pratique Microsoft | 2014-06-26

Wesley Alcoforado

Page 2: Tests unitaires avec FakeItEasy

2

Sommaire

TESTS UNITAIRES EN .NET AVEC FAKEITEASY

Tests unitaires1

Qu’est-ce qu’un mock?2

Fake It Easy3

Démo4

Page 3: Tests unitaires avec FakeItEasy

3

Tests unitaires

1 3 42

TESTS UNITAIRES EN .NET AVEC FAKEITEASY

Page 4: Tests unitaires avec FakeItEasy

4

Tests unitaires

TESTS UNITAIRES EN .NET AVEC FAKEITEASY

Garantir le bon fonctionnement du codeGarantir la non régressionAider à suivre les bonnes pratiques de dév.

Un test doit être:IndépendantSimple

Page 5: Tests unitaires avec FakeItEasy

5

Qu’est-ce qu’un mock?

1 3 42

TESTS UNITAIRES EN .NET AVEC FAKEITEASY

Page 6: Tests unitaires avec FakeItEasy

6

Qu’est-ce qu’un mock?

TESTS UNITAIRES EN .NET AVEC FAKEITEASY

Objet factice qui reproduit le comportement d’objets réels de façon contrôlée

Remplace un comportement non déterministe> Température ambiante; l’heure.

Simule des situations difficiles à reproduire> Erreur de réseau

Initialisation longue> Objet qui crée une base de données

L’objet réel n’existe pas encore

Page 7: Tests unitaires avec FakeItEasy

7

Fake It Easy

1 3 42

TESTS UNITAIRES EN .NET AVEC FAKEITEASY

Page 8: Tests unitaires avec FakeItEasy

8

Fake It Easy

TESTS UNITAIRES EN .NET AVEC FAKEITEASY

Framework de creation d’objets facticesInterface fluideCompatible avec C# et VB.NETOpen source (https://github.com/FakeItEasy/FakeItEasy)Disponible via Nuget

Page 9: Tests unitaires avec FakeItEasy

9

Types acceptés

TESTS UNITAIRES EN .NET AVEC FAKEITEASY

InterfacesClasses qui ont au moins un constructeur accessible par FakeItEasy

Pas de classes sealedPas de classes statiques

Page 10: Tests unitaires avec FakeItEasy

10

Qui peut être remplacé?

TESTS UNITAIRES EN .NET AVEC FAKEITEASY

Propriétés et méthodesVirtuelles AbstraitesDéfinies dans une interface

Les membres statiques, incluant les extension methods, ne sont pas supportés.

Page 11: Tests unitaires avec FakeItEasy

11

Instanciation

TESTS UNITAIRES EN .NET AVEC FAKEITEASY

Page 12: Tests unitaires avec FakeItEasy

12

Configuration du comportement

TESTS UNITAIRES EN .NET AVEC FAKEITEASY

Page 13: Tests unitaires avec FakeItEasy

13

Types d’assertions

TESTS UNITAIRES EN .NET AVEC FAKEITEASY

Page 14: Tests unitaires avec FakeItEasy

14

Démo

1 3 42

TESTS UNITAIRES EN .NET AVEC FAKEITEASY

Page 15: Tests unitaires avec FakeItEasy

15

Example de couche affaire

TESTS UNITAIRES EN .NET AVEC FAKEITEASY

Page 16: Tests unitaires avec FakeItEasy

16

Test unitaire (1)

TESTS UNITAIRES EN .NET AVEC FAKEITEASY

Page 17: Tests unitaires avec FakeItEasy

17

Test unitaire (2)

TESTS UNITAIRES EN .NET AVEC FAKEITEASY

Page 18: Tests unitaires avec FakeItEasy

18

Questions?

TESTS UNITAIRES EN .NET AVEC FAKEITEASY