2009-01-06 7 views
0

Comment écrire des tests unitaires pour tester les méthodes Web d'un service Web à l'aide de NUnit?Tests unitaires pour tester les méthodes Web d'un service Web effectuant certaines transactions de base de données à l'aide de NUnit

Les méthodes Web de cette application permettent d'ajouter, de mettre à jour et de supprimer un enregistrement dans la base de données. Le test unitaire testera une méthode web pour savoir si un enregistrement a été inséré dans la base de données, le webmethod appelle une méthode dans la couche d'accès aux données pour effectuer cette action.

Répondre

1

Je ne pense pas qu'il soit approprié de tester le résultat final de votre service Web avec un test unitaire. En outre, ce que vous essayez de faire s'appelle un «test d'intégration», et non un test unitaire.

Ce que vous pouvez faire, cependant, est de:

  • tests unitaires d'écriture pour vérifier si votre couche d'accès aux données (DAL) fonctionne correctement
  • tests unitaires Write pour voir si votre méthode Web est correctement accéder à votre DAL

Vous pouvez également consulter une question que j'ai déjà soulevée: How do I unit test persistence? pour vous donner plus d'informations.

Si vous êtes vraiment convaincu de pouvoir le faire cependant, il est possible de créer de tels tests unitaires en utilisant MbUnit, qui a l'attribut Rollback.

[Rollback] 
public void Test_database_persistence() 
{ 
    //any database access you perform here will be put inside a transaction 
    //and rolled back afterwards 
} 

MbUnit est totalement compatible avec NUnit, vous pouvez toujours utiliser des tests que vous avez déjà écrit avec NUnit.