2009-07-10 6 views
2

J'ai un test unitaire quitests unitaires avec vérifie simulacres

  1. crée une maquette
  2. appelle ma méthode à tester (injection aussi ma maquette)
  3. AFFIRME méthode résultats
  4. vérifie des simulations d'appels

Lorsque les appels simulés ne vérifient pas comme prévu, j'obtiens une exception, échouant ainsi un test.
Comment dois-je appeler correctement cela vérifie? Dois-je appeler juste

// verify property get accessor call 
m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce()); 

ou devrais-je appeler avec Assertion

// verify property get accessor call 
Assert.DoesNotThrow(() => m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce())); 

Lorsque je reçois vérifier échoue une exception de toute façon.
Quelle est la bonne façon de procéder à une vérification fictive?

Répondre

2

VerifyGet est suffisant, affirmer semble ajouter aucune valeur alors pourquoi ajouter plus de verbiage?

1

La méthode DoesNotThrow doit être utilisée pour tester si vos propres méthodes respectent vos spécifications. En bref, l'ajout de DoesNotThrow ressemble à tester le comportement de VerifyGet au lieu du comportement de votre SUT.

Bien sûr, vous pouvez l'enrouler autour du VerifyGet, mais je pense que cela ne fait que compliquer la chose puisque VerifyGet échouerait quand même au test.