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

Windows Presentation Foundation Discussion :

Test unitaire de classe à composante xaml


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2002
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 45
    Par défaut Test unitaire de classe à composante xaml
    Bonjour,

    J'ai une classe ClientsViewModel qui est liée par binding à une datagrid wpf. Cette classe ne contient rien de spécial (pas d'héritage), elle sert à charger les données. Elle contient une ObservableCollection d'objets Client (ce dernier est un objet métier simple).

    Quand je veux l'instancier en test unitaire avec MS Tests, je me mange :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Test Name:	TestLoadClients
    Test FullName:	TestsSocodifCommon.TestClientsViewModel.TestLoadClients
    Test Source:	d:\Perso\git\Socodif-tfs\TestsSocodifCommon\TestClientsViewModel.cs : line 15
    Test Outcome:	Failed
    Test Duration:	0:00:00,1865887
     
    Result Message:	
    Test method TestsSocodifCommon.TestClientsViewModel.TestLoadClients threw exception: 
    System.TypeInitializationException: The type initializer for 'Socodif.ViewModels.ClientsViewModel' threw an exception. ---> System.NullReferenceException: Object reference not set to an instance of an object.
    Result StackTrace:	
    at Socodif.ViewModels.ClientsViewModel..cctor() in d:\Perso\git\Socodif-tfs\Application\Socodif\ViewModels\ClientsViewModel.cs:line 19
     --- End of inner exception stack trace ---
        at Socodif.ViewModels.ClientsViewModel..ctor()
       at TestsSocodifCommon.TestClientsViewModel.TestLoadClients() in d:\Perso\git\Socodif-tfs\TestsSocodifCommon\TestClientsViewModel.cs:line 16
    Cette ligne 19 fait un appel à une classe App définie dans App.xaml.cs et App.xaml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    App.SocodifConfig.DicSelectSql["ReadSingleCustomer"]
    Je vais déporter dans une autre classe sans xaml ma ligne de code, mais est-il possible d'avoir un mock adapté qui permette d'utiliser en test unitaire ms tests une classe à rendu xaml ? sans chercher à l'afficher, juste l'initialiser. A voir si je cherche dans la bonne direction. Merci.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Bah de toutes façons App.SocodifConfig est une propriété statique, donc ça ne nécessite pas d'instancier la classe App, et le fait que ce soit une classe WPF n'a donc pas beaucoup d'importance a priori.

    Le problème est plutôt que dans le cas des tests unitaires, cette propriété n'est probablement pas initialisée. Tu pourrais le faire dans le setup de ta classe de test unitaire.

  3. #3
    Membre très actif
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Par défaut
    Salut,

    Je vais tester cela ce soir.
    (je répond pour ma femme )

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/03/2015, 13h56
  2. Réponses: 0
    Dernier message: 27/06/2014, 12h12
  3. [Framework] Autowired ne fonctionne que dans ma classe de tests unitaires
    Par nicknolt dans le forum Spring
    Réponses: 4
    Dernier message: 29/01/2013, 10h18
  4. [ZF 1.8] [Test Unitaire] Classe Zend_Db_Table not found
    Par titou_777 dans le forum Zend Framework
    Réponses: 6
    Dernier message: 28/07/2009, 11h34
  5. Réponses: 4
    Dernier message: 03/07/2009, 19h06

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