10sept. 2015

Unity : tester l'instanciation des classes

Cela fait plusieurs fois que je rencontre le problème des enregistrements manquants dans Unity. Le projet se lance et on obtient l'erreur suivante :

Resolution of the dependency failed, 
    type = "MyAssembly.IMyTypeName", name = "(none)".
Exception occurred while: while resolving.
Exception is: InvalidOperationException - The current 
    type, MyAssembly.IMyTypeName, is an interface 
    and cannot be constructed. Are you missing 
    a type mapping?

Les applications en entreprise nécessitent souvent que des webservices soient lancés, des cas de tests créés etc ... .

Mettre toutes ces conditions en place prends du temps - pour parfois aboutir à ce message d'erreur, et être obligé de tout recommencer.

Heureusement il est possible d'automatiser.

Lire la suite...

08août 2014

NUnit: mémo attributs

Voici un petit mémo sur les attributs à utiliser avec NUnit :

Au niveau du conteneur

  • [TestFixture] - A placer sur la déclaration de la classe pour la définir en tant que conteneur de test unitaires
  • [TestFixtureSetup] - Executé avant le début de l'exécution des tests contenus dans la classe.
  • [TestFixtureTearDown] - Executé après la fin de tous les tests contenus dans la classe

Lire la suite...

24mar. 2014

UnitTestIsolationException lors de ShimContext.Create()

J'ai rencontré une exception de type UnitTestIsolationException lorsque je tentais de lancer les tests unitaires de mon projet avec le debugger.

J'utilise NUnit comme moteur de tests unitaires couplé à Microsoft Fakes. Cette exception se produit lorsque l'instruction ShimContext.Create() est rencontrée.

Le test s'exécute correctement si il est lancé sans le débugger. Ainsi il fonctionne sur le serveur d'intégration.

Lire la suite...

10mar. 2014

Microsoft Fakes : guidelines d'utilisation

Microsoft Fakes est une librairie destinée à simplifier l'écriture des tests unitaires. Cette librairie est composée de deux éléments :

  • Les Fakes qui permettent de générer automatiquement une implémentation d'interface.
  • les Shims qui permettent de remplacer le corps d'une méthode par un autre.

Lire la suite...

06fév. 2013

MEF : Filtrer les catalogs

J'étais en train de faire un lifting de mes tests unitaires quand je me suis retrouvé bloqué car je ne voulais pas inclure la couche d'authentification d'origine. Cette "couche d'authentification" est en fait un service exporté dans MEF

J'utilise un AssemblyCatalog qui récupère automatiquement les exports. Je récupère donc une part dont je ne veux pas dans mes tests unitaires.

Lire la suite...

18oct. 2011

CSharp : refactoring et fichier ressource

Mesaventure qui m'est arrivé aujourd'hui. Lorsqu'on change de namespace un fichier resource, modifier le namespace dans l'en tête de la classe du designer ne suffit pas.

Lire la suite...

- page 1 de 2