2009-07-21 6 views
1

Problème: Recherche d'un projet de service Web .NET 2.0 à partir de mon projet de test unitaire VS.Référencement d'un projet de service Web à partir d'un projet de test unitaire: projet absent de la liste

Cliquez avec le bouton droit sur le dossier Références dans le projet de test unitaire -> Ajouter une référence. Le service Web .NET 2.0 n'est pas répertorié dans la liste des projets disponibles pour la référence.

Je sais que cette utilisation est possible; J'ai déjà référencé avec succès (dans d'autres solutions) un service Web .NET 3.5 à partir d'un projet de test d'unité .NET 3.5.

L'idée est de tester toutes les méthodes publiques trouvées dans les classes avec mon .asmx. J'ai supprimé toute la logique métier du fichier .asmx lui-même dans des fichiers .cs dans un sous-répertoire du projet de service Web. Donc, l'idée ici est de tester les classes qui exécutent la logique métier, le service web lui-même (gestion d'une requête HTTP).

Configuration:

  • Visual Studio 2008
  • VS projet de test Unité à .NET 3.5 Compatibilité
  • projet de service Web compatibilité .NET 2.0
  • fichier de solution à la version 9.

Question: Des idées pour lesquelles Visual Studio 2008 ne me permettrai pas de référencer un service web .NET 2.0 à partir d'un projet de test .NET 3.5?

Répondre

1

Cette question était un peu plus étroite que celle décrite précédemment.

Le résultat final est que:

  • le projet de services Web était en fait un projet de site Web avec un seul fichier .asmx (!). J'étais stupéfait de faire cette réalisation. Doh!

  • Le projet a été recréé à partir de zéro en tant que projet de service Web. Toute la logique a été déplacée vers un assembly externe sur John's advice in the comments.

1

Non Ne faites jamais référence directement au projet de service Web. Vous voulez ajouter une "référence Web".

+0

Merci John, j'apprends souvent de et apprécie toutes vos réponses sur SO. Le kicker ici est que j'ai déjà fait ce référencement direct dans une solution v3.5, et cela fonctionne parfaitement! L'ensemble de tests unitaires doit appeler les classes et les méthodes publiques du service Web. On dirait que vous êtes contre l'idée de référencer directement la couche de gestion de l'assembly de service Web. Je serais intéressé d'entendre pourquoi/pas. Merci! –

+3

La couche de gestion n'appartient pas à l'assembly de service Web. La seule chose qui appartient à ce service est le service. Le reste devrait être dans des assemblées séparées, et serait, bien sûr, testable. –

Questions connexes