IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

test d'intégration avec webservice


Sujet :

C#

  1. #1
    Membre confirmé Avatar de Sp4ce
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 81
    Par défaut test d'intégration avec webservice
    Hello world !

    J'ai une système complexe d'applications qui sont lancées à partir d'exe différents. On peut commander ces applications à partir d'un web service.

    J'aimerais réaliser des tests d'intégrations seulement je ne sais pas comment lancer mon webservice. Sauriez-vous m'aider ? Je travaille avec VS 2008 sous framework 3.5. Je lance mes tests avec NUnit.

    NB : pour les applications, je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process.Start("exe_path", "Args");
    Y'aurait-il une méthode identique pour le service Web ?

    Merci !

  2. #2
    Rédacteur
    Avatar de Paul Musso
    Profil pro
    Inscrit en
    Août 2008
    Messages
    368
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2008
    Messages : 368
    Par défaut
    Bonjour,

    Tu peux utiliser l'objet HttpWebRequest pour cela. Le but est d'exécuter des requêtes http sur ton service web.

  3. #3
    Membre confirmé Avatar de Sp4ce
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 81
    Par défaut
    Merci pour l'aide. Le problème c'est que j'arrive pas à lancer mon service Web avec une fonction CSharp.

    Si je comprends ce que tu me dis :

    1) je lance mon service web (je sais pas encore comment)
    2) j'utilise HttpWebRequest pour le tester

    il me manque l'étape 1 :'(

  4. #4
    Rédacteur
    Avatar de Paul Musso
    Profil pro
    Inscrit en
    Août 2008
    Messages
    368
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2008
    Messages : 368
    Par défaut
    Le web service est-il hébergé sur IIS ?

    Si oui, alors le simple fait de faire une requête http vers lui le démarre.
    Par contre, si ton web service est hébergé par un service windows ou tout autre exe, il faut lancer l'application avec la méthode que tu utilises déjà : Process.Start

  5. #5
    Membre confirmé Avatar de Sp4ce
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 81
    Par défaut
    c'est un webservice qui est censé être hébergé par IIS.

    Cependant, dans mon ensemble d'application, c'est juste un projet dans ma solution VS. Un projet de type "Asp.NET web application".

    Quand je teste à la main, je fais "click droit" -> "debug" -> "start new instance" et j'ai mon serveur web qui démarre et je peux faire des requêtes sur mon service web.

    est-ce que c'est possible, avec une fonction Csharp de lancer le serveur Web comme quand je debug ?

  6. #6
    Rédacteur
    Avatar de Paul Musso
    Profil pro
    Inscrit en
    Août 2008
    Messages
    368
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2008
    Messages : 368
    Par défaut
    Si ton service web est bien sur IIS, c'est à dire qu'il y a bien un répertoire virtuel créé faisant référence au repertoire de ton projet Visual Studio, alors tu n'as pas besoin de lancer quoi que ce soit.

    Ce qui m'étonne, c'est quand tu dis que ton serveur web démarre. Je pense que tu parles de Cassini, le serveur web intégré à Visual Studio. Après pour lancer Cassini en stand alone, c'est autre chose ...

    Pour déployer ton service web sur IIS, il faut que tu ailles dans les propriétés de ton application web. Dans l'onglet Web, tu devrais voir vers le bas :
    Use IIS Server ou Utiliser le serveur web IIS. S'il le radio bouton est décoché, c'est que tu n'utilises pas encore IIS, coche le, et créé un repertoire virtuel si nécessaire.
    Dans ta console MMC IIS, tu devrais voir apparaître le répertoire virtuel créé.

    A partir de ce moment là, IIS héberge bien ton web service, et une simple requête vers lui l'active.

  7. #7
    Membre confirmé Avatar de Sp4ce
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 81
    Par défaut
    EN fait je parlais de Cassini, mais je savais pas que c'était quelque chose d'interne a Visual Studio. Merci, j'ai compris ce que tu dis...

    ... mais, maintenant mon problème, c'est que les tests que j'ai vais développer vont ensuite être automatiquement exécutés par un serveur d'intégration continue (CCNet).

    l'idée c'est :
    1 - check-out des projets.
    2 - compilation.
    3 - exécution des tests.

    Sans aucune intervention humaine. Donc je cherche à trouver une commande CSharp qui puisse faire ce que tu décris à la main. Est-ce que tu saurais ?

  8. #8
    Rédacteur
    Avatar de Paul Musso
    Profil pro
    Inscrit en
    Août 2008
    Messages
    368
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2008
    Messages : 368
    Par défaut
    Je ne connais pas CCNet, mais je pense pas que cela change quelque chose.

    Voici comment je m'y prendrais à ta place. Tes tests unitaires ou d'intégration vont être exécuté surement par un agent ou quelque chose comme cela et sur un serveur particulier.

    Donc ton code doit fonctionner à partir de ce serveur. De plus, le code est compilé et déployé surement dans un dossier quelconque. Il faudrait que tu sache où déjà. Une fois que tu sais, récupère le nom du dossier, et déclare sur un serveur IIS accessible depuis le serveur qui exécutera tes tests un dossier virtuel sur IIS qui pointe vers ce dossier (le dossier du web service compilé et déployé par CCNet).

    J'ai peur que CCNet te créé un dossier particulier avec un nom de version spécifique pour chaque build. Si ça arrive, va falloir configurer CCNet pour qu'il déploie toujours dans le même dossier ou qu'il déploie non seulement dans le dossier de son choix mais aussi dans un dossier qui lui sera fixe. Au pire, avec un peu de bidouille ça peut se faire avec un service dédié à ça qui check tout nouveau déploiement pour le copier dans le dossier de ton choix.

    Donc, si on reprend. Tu as donc ton serveur IIS accessible depuis le serveur qui va exécuter tes tests, il ne te reste plus qu'à lancer tes requêtes web vers ton web service. N'oublie pas de prier, ça y joue vachement

  9. #9
    Membre confirmé Avatar de Sp4ce
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 81
    Par défaut
    ok, ça me parait bien comme solution, faut que je regarde avec les gens qui s'occupent de l'intégration continue comment on va configurer tout ça, mais j'aime bien le principe.

    Je mets donc comme résolu. Merci pour l'aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tests d'intégration EJB avec Weblogic
    Par Pignoufy dans le forum Maven
    Réponses: 10
    Dernier message: 08/08/2011, 12h21
  2. [Vc++ 2005] intégration avec Qt
    Par Creasy dans le forum MFC
    Réponses: 2
    Dernier message: 06/11/2005, 23h55
  3. [FLASH MX2004] Composant avec WebService
    Par Laure888 dans le forum Flash
    Réponses: 1
    Dernier message: 30/09/2005, 16h55
  4. Test PostgreSQL v8 avec NAMEDATALEN = 128 caracteres
    Par hondjack dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/10/2004, 00h32
  5. Test d'éxistence avec un RecordSet
    Par matt63 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 21/04/2004, 12h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo