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 :

Commenter tester sa librairie proprement ?


Sujet :

C#

  1. #1
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut Commenter tester sa librairie proprement ?
    Bonjour,

    Gros débutant sur C# mais j'aime ce langage surtout que j'ai cette impression de retirer les chaines que j'avais avec PHP.
    J'ai quelque questions sur la manière de gérer son projet sous C#
    Je voudrais faire un projet qui bouillonne depuis des années dans ma tête. Déjà entamé avec PHP, mais ce dernier n'est pas assez véloce et je veux que ça soit fait sous SQL Server, là ou je suis plus à l'aise que Mysql maintenant que je bosse au quotidien sur celui de Microsoft.
    Je souhaite faire une librairie écrit en C# pour qu'il puisse être exploiter en ASP.NET (dont je vais commencer à m'intéresser).

    Au départ, quand je faisais des petits trucs en C#, pour tester ma librairie, je faisais un autre projet de type console, j'intégrais ma lib et je codais ainsi mes testes en faisant des sorties écrans de mes testes. Cela marche mais c'est pas terrible et pas pro. Je suppose qu'il existe d'autre moyen pour tester sa librairie sans devoir faire une interface avec un formulaire etc ou la méthode que j'utilisais.

    Quel moyen utiliser et rapide ? Merci
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  2. #2
    Nouveau membre du Club Avatar de Vtek001
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2012
    Messages : 16
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par berceker united Voir le message
    Au départ, quand je faisais des petits truc en C#, pour tester ma librairie, je faisais un autre projet de type console et je codais ainsi ma librairie en faisant des sorties écrans de mes testes. Cela marche mais c'est pas terrible et pas pro. Je suppose qu'il existe d'autre moyen pour tester sa librairie sans devoir faire une l'interface avec un formulaire etc.

    Quel moyen utiliser et rapide ? Merci
    Salut !

    Je penses que Unit Testing Framework répond à ton problème si tu cherche à bien tester une librairie.
    Tu as à disposition l'explorateur de test dans les VS à partir d'express, donc normalement pas de soucis pour en faire .

    Si tu as une version plus avancée (Premium ou Ultimate) tu as même un outil pour analyser la couverture des tests sur ton code.

    Plus d'information sur MSDN : http://msdn.microsoft.com/en-us/library/hh694602.aspx

  3. #3
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    Citation Envoyé par Vtek001 Voir le message
    Salut !

    Je penses que Unit Testing Framework répond à ton problème si tu cherche à bien tester une librairie.
    Tu as à disposition l'explorateur de test dans les VS à partir d'express, donc normalement pas de soucis pour en faire .

    Si tu as une version plus avancée (Premium ou Ultimate) tu as même un outil pour analyser la couverture des tests sur ton code.

    Plus d'information sur MSDN : http://msdn.microsoft.com/en-us/library/hh694602.aspx
    Merci pour ton retour. Je vais m'intéresser plus au testes unitare déjà intégré.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  4. #4
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Bonjour.

    Alternativement il existe une solution libre de tests unitaires avec couverture de code : nunit + ncover. A vrai dire je préfère celle-ci : la solution de VS souffre (souffrait ?) de plusieurs défauts, notamment sa lenteur et l'absence de groupes de tests quand on souhaite n'en exécuter que certains. Par ailleurs mon environnement de dév est suffisamment encombré pour que je privilégie une fenêtre à part.

    Quel que soit le framework retenu, il va surtout falloir se renseigner sur les méthodologies. C'est que le sujet de la testabilité du code est très complexe. Pour commencer les tests peuvent servir à de nombreuses choses : guider le programmeur parfois jusque dans la conception elle-même (TDD : test-driven development), documenter l'utilisation du code, vérifier la conformité au cahier des charges, découvrir des bogues ou prévenir l'apparition de bogues dans le code existant, ... Et du coup il existe de nombreux types de tests (unitaires, fonctionnels ou intégration) et d'approches (boîte noire, boîte blanche, utilisation du hasard, etc).

    J'aimerais pouvoir te recommander une bonne ressource sur le sujet, malheureusement je n'en ai jamais trouvée. Cela dit je te recommande fortement de chercher des ressources spécifiques à C# dans la mesure où le design d'un langage et la conception du projet affectent grandement la testabilité en pratique.

  5. #5
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Hello,
    en complément de ce qui est dit au dessus.

    Le système de tests intégré à VS ou NUnit est conçu pour les tests unitaires / les tests d'intégration. J'ai l'impression que dans ton cas, le but n'est ni de faire de la TDD ni couvrir ton code pour éviter les régressions (même si tu y as intérêt, d'ailleurs), mais juste l'essayer sans devoir coder une application hôte. NUnit peut aussi convenir dans ce scénario. Perso, j'utilise NUnit principalement pour les tests unitaires et d'intégration, mais aussi pour instrumenter des tâches, un peu comme un langage de script (comme générer une base à partir des fichiers hbm de NHibernate), ou tester un bout de code qui fait intervenir la base / un autre serveur / whatever.

    Il faut juste marquer ces "tests" (je mets en guillemet parce que ce ne sont pas des tests unitaires) avec un attribut Explicit (ou l'équivalent chez Microsoft) pour bien montrer que l'intention n'est pas de faire un test unitaire avec assertion et tout le tremblement, mais juste instrumenter du code.
    ಠ_ಠ

Discussions similaires

  1. Comment tester si un champ est un nombre
    Par the kikouyou dans le forum Langage SQL
    Réponses: 13
    Dernier message: 17/07/2014, 14h57
  2. Comment tester si fichier est ouvert ?
    Par fusef dans le forum Langage
    Réponses: 7
    Dernier message: 11/08/2004, 18h51
  3. Réponses: 10
    Dernier message: 06/07/2004, 02h44
  4. comment tester si une fonction fait bien son travail
    Par access dans le forum Requêtes
    Réponses: 1
    Dernier message: 24/11/2003, 15h46
  5. Réponses: 10
    Dernier message: 18/11/2003, 18h01

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