Partager via


Dépannage des tests génériques

Lorsque vous effectuez des tests génériques, vous pouvez rencontrer l'erreur suivante : la collecte de données de couverture du code ne fonctionne pas lorsque vous effectuez un test générique sur une plateforme 64 bits. Pour résoudre cette erreur, utilisez les informations de la section suivante, Contournement de la limitation des 32 bits.

Configuration requise

  • Visual Studio Ultimate, Visual Studio Premium

Contournement de la limitation des 32 bits

L'instrumentation de couverture du code ne fonctionne qu'en mode 32 bits, et non en mode 64 bits. Cela est dû au fait qu'un assembly ne peut être chargé qu'en mode 32 bits après avoir été instrumenté pour la couverture du code.

Notes

Aucune limitation de la sorte ne s'applique lorsque vous exécutez des tests unitaires sur un ordinateur 64 bits si vous ne collectez pas de données de couverture du code.En effet, VSTestHost.exe, le moteur de test qui charge la bibliothèque de classes, s'exécute dans un processus 32 bits.

Pour un test générique, l'application encapsulée est générée à l'aide de "Any CPU" qui, sur un ordinateur 64 bits, est exécuté comme un processus 64 bits. Lorsque ce processus 64 bits essaie de charger un assembly 32 bits, une erreur se produit. Pour résoudre ce problème, vous pouvez procéder de différentes façons.

Utilisez la méthode suivante si votre test générique encapsule directement le fichier binaire dans lequel votre code de production a été compilé :

  • Remplacer la configuration de la solution par x86

Utilisez l'une ou l'autre des deux méthodes suivantes s'il existe une couche entre le test générique et le fichier binaire de code de production. Autrement dit, votre test générique encapsule une application intermédiaire comme un atelier de test. Cet atelier de test exécute à son tour le code de production que vous testez.

  • Modifier les paramètres de génération de l'application qui charge le fichier binaire de code de production

Remplacer la configuration de la solution par x86

Remplacez la configuration de la solution "Any CPU" par "x86".

Pour modifier la configuration de la solution

  1. Cliquez avec le bouton droit sur la solution, puis choisissez Propriétés.

    La boîte de dialogue Pages de propriétés de Solution s'affiche.

  2. Sous Propriétés de configuration, choisissez Configuration.

  3. Choisissez Gestionnaire de configurations.

    La boîte de dialogue Gestionnaire de configurations s'affiche.

  4. Sous Plateforme de la solution active, cliquez sur Nouveau.

    La boîte de dialogue Nouvelle plateforme de solution s'affiche.

  5. Sous Tapez ou sélectionnez la nouvelle plateforme, choisissez x86.

  6. Dans la boîte de dialogue Nouvelle plateforme de solution, choisissez OK.

  7. Dans la boîte de dialogue qui demande si vous souhaitez enregistrer les modifications, choisissez Oui.

  8. Dans la boîte de dialogue Gestionnaire de configurations, sous Plateforme de la solution active, assurez-vous que x86 est sélectionné, puis choisissez Fermer.

  9. Dans la boîte de dialogue Pages de propriétés de Solution, choisissez OK.

Modifier les paramètres de génération de l'application qui charge le fichier binaire de code de production

Utilisez cette procédure pour instrumenter une application intermédiaire, ou atelier de test, que votre test générique encapsule. Cette application intermédiaire exécute le code que vous souhaitez tester.

Dans cette procédure, vous allez modifier les paramètres de l'application intermédiaire de sorte qu'elle puisse générer pour la plateforme x86.

Notes

Vous ne pouvez le faire que si l'application encapsulée est générée à partir d'un projet dans votre solution.

Pour modifier les paramètres de génération de l'application encapsulée

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet à partir duquel l'application intermédiaire est générée, puis choisissez Propriétés.

    Une page de propriétés s'affiche pour le projet.

  2. Choisissez l'onglet Générer.

  3. Pour Plateforme cible, spécifiez x86.

  4. Dans le menu Fichier, choisissez Enregistrer les éléments sélectionnés.

Voir aussi

Concepts

Création d'un test automatisé qui lance un exécutable au moyen de tests génériques