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.