Comment : configurer des tests unitaires pour cibler .NET Framework 3.5

Lorsque vous utilisez Visual Studio 2010, la version cible par défaut du .NET Framework dans les projets de test est le .NET Framework 4. En outre, si vous mettez à niveau des projets de test à partir de Visual Studio 2008, ils sont mis à niveau pour cibler le .NET Framework 4 par défaut. Vous pouvez modifier les propriétés du projet et cibler de nouveau le projet de manière explicite sur .NET Framework 3.5.

Avertissement

Pour recibler les projets de test de manière à utiliser le .NET Framework 3.5, vous devez installer Visual Studio 2010 Service Pack 1.

Visual Studio 2010 Service Pack 1 assure la prise en charge de base suivante pour les tests unitaires qui ciblent .NET Framework 3.5 :

  • Vous pouvez créer des projets de tests unitaires et les cibler sur .NET Framework 3.5.

  • Vous pouvez exécuter des tests unitaires qui ciblent le .NET Framework 3.5 à partir de Visual Studio 2010 Service Pack 1 sur votre ordinateur local.

  • Vous pouvez exécuter des tests unitaires qui ciblent le .NET Framework 3.5 en utilisant MSTest.exe à partir de l'invite de commandes.

  • Vous pouvez exécuter des tests unitaires sur un agent de build dans le cadre d'une génération.

Test des applications SharePoint 2010

Les fonctions répertoriées ci-dessus permettent également d'écrire des tests unitaires et des tests d'intégration pour les applications SharePoint 2010 à l'aide de Visual Studio 2010 Service Pack 1. Pour plus d'informations sur sur le mode de développement des applications SharePoint 2010 à l'aide Visual Studio 2010, consultez Développement SharePoint dans Visual Studio, Génération et débogage de solutions SharePoint et Vérification et débogage du code SharePoint à l'aide des fonctions ALM.

Limitations

Les limitations suivantes s'appliquent lorsque vous re-ciblez vos projets de test de manière à utiliser le .NET Framework 3.5 :

  • Dans le .NET Framework 3.5, le multi-ciblage est pris en charge pour les projets de test qui contiennent uniquement des tests unitaires. Le .NET Framework 3.5 ne prend pas en charge d'autre type de test, tel que le test codé de l'interface utilisateur ou le test de charge. Le re-ciblage est bloqué pour les types de test autres que les tests unitaires.

  • L'exécution de tests du .NET Framework 3.5 est prise en charge uniquement dans l'adaptateur hôte par défaut. Elle n'est pas prise en charge dans l'adaptateur hôte ASP.NET. Les applications ASP.NET qui doivent fonctionner dans le contexte du serveur de développement ASP.NET doit être compatible avec le .NET Framework 4.

  • La prise en charge de la collecte de données est désactivée lorsque vous exécutez des tests qui prennent en charge le multi-ciblage de .NET Framework 3.5. Vous pouvez exécuter la couverture du code à l'aide des outils en ligne de commande Visual Studio.

  • Les tests unitaires qui utilisent le .NET Framework 3.5 ne peuvent pas s'exécuter sur un ordinateur distant.

Re-ciblage au .NET Framework 3.5 pour les projets de tests unitaires Visual Basic

  1. Créer un projet de test unitaire Visual Basic. Dans le menu Fichier, sélectionnez Nouveau, puis cliquez sur Projet.

    La boîte de dialogue Nouveau projet s'affiche.

  2. Sous Modèles installés, développez Visual Basic. Sélectionnez Test, puis sélectionnez le modèle Projet de test.

  3. Dans la zone de texte Nom, tapez un nom pour votre projet de test Visual Basic, puis cliquez sur OK.

  4. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nouveau projet de test Visual Basic et sélectionnez Propriétés.

    Les propriétés de votre projet de test Visual Basic s'affichent.

  5. Sélectionnez l'onglet Compiler, puis cliquez sur le bouton Options avancées de compilation, comme le montre l'illustration suivante.

    Options avancées de compilation

  6. Utilisez la liste déroulante Framework cible (toutes les configurations) pour remplacer la version cible de .NET Framework, .NET Framework 4, par .NET Framework 3.5, comme le montre la légende B dans l'illustration suivante.

    Liste déroulante des versions cible de .NET Framework

    Notes

    Si un message d'erreur s'affiche, suivez les instructions fournies par le lien du message ou consultez la procédure suivante Étapes supplémentaires possibles pour activer le re-ciblage des projets de tests sur .NET Framework 3.5.

Re-ciblage au .NET Framework 3.5 pour les projets de tests unitaires Visual C#

  1. Créer un projet de test unitaire Visual C#. Dans le menu Fichier, sélectionnez Nouveau, puis cliquez sur Projet.

    La boîte de dialogue Nouveau projet s'affiche.

  2. Sous Modèles installés, développez Visual C#. Sélectionnez Test, puis sélectionnez le modèle Projet de test.

  3. Dans la zone de texte Nom, tapez un nom pour votre projet de test Visual C#, puis cliquez sur OK.

  4. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nouveau projet de test Visual C# et sélectionnez Propriétés.

    Les propriétés de votre projet de test Visual C# s'affichent.

  5. Sélectionnez l'onglet Application et utilisez la liste déroulante Framework cible pour remplacer la version cible de .Net Framework, .NET Framework 4, par .NET Framework 3.5, comme le montre l'illustration suivante.

    Liste déroulante des versions cible de .NET Framework

    Notes

    Si un message d'erreur s'affiche, suivez les instructions fournies par le lien du message ou consultez la procédure suivante Étapes supplémentaires possibles pour activer le re-ciblage des projets de tests sur .NET Framework 3.5.

Re-ciblage au .NET Framework 3.5 pour les projets de tests unitaires managés C++/CLI

  1. Créer un projet de test unitaire C++. Dans le menu Fichier, sélectionnez Nouveau, puis cliquez sur Projet.

    La boîte de dialogue Nouveau projet s'affiche.

    Avertissement

    Si vous avez des projets unitaires créés à l'aide de Visual Studio 2008 et que vous souhaitez générer des projets de tests unitaires C++/CLI qui ciblent .NET Framework 3.5 à l'aide de Visual Studio 2010 Service Pack 1, vous devez installer Visual Studio 2008 Service Pack 1 sur Visual Studio 2008 avant d'utiliser les projets dans Visual Studio 2008. Il s'agit d'une spécification pour le ciblage de .NET Framework version 3.5. L'installation de .NET Framework 3.5 redistribuable ne fonctionnera pas. Les outils Visual C++ comme cl.exe dans Visual Studio 2010 ne peuvent cibler que le .NET Framework 4. Par conséquent, pour cibler le .NET Framework 3.5, vous devez avoir les outils de la version antérieure. Ces outils sont livrés avec Visual Studio et pas avec le .NET Framework.

  2. Sous Modèles installés, développez Visual C++. Sélectionnez Test, puis sélectionnez le modèle Projet de test.

  3. Dans la zone de texte Nom, tapez un nom pour votre projet de test Visual C++, puis cliquez sur OK.

  4. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nouveau projet de test Visual C++ et sélectionnez Décharger le projet.

  5. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le non chargé projet de test de Visual C++ et sélectionnez Modifier <nom du projet>.vcxproj.

    Le fichier .vcxproj s'ouvre dans l'éditeur.

  6. Affectez au TargetFrameworkVersion la version 3.5 dans le PropertyGroup intitulé "Globals" :

    <PropertyGroup Label="Globals">
        <TargetName>DefaultTest</TargetName>
        <ProjectTypes>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}</ProjectTypes>
        <ProjectGUID>{CE16D77A-E364-4ACD-948B-1EB6218B0EA3}</ProjectGUID>
        <TargetFrameworkVersion>3.5</TargetFrameworkVersion>
        <Keyword>ManagedCProj</Keyword>
        <RootNamespace>CPP_Test</RootNamespace>
      </PropertyGroup>
    
  7. Enregistrez e fermez le fichier .vcxproj.

  8. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nouveau projet de test Visual C++ et sélectionnez Recharger le projet.

Étapes supplémentaires possibles pour activer le re-ciblage des projets de tests sur .NET Framework 3.5

Si vous avez modifié le fichier devenv.exe.config avant d'installer Service Pack 1 avec Visual Studio 2010, des étapes supplémentaires sont requises pour activer le ciblage de .NET Framework 3.5. L'installation de Service Pack 1 ne remplace pas le fichier de configuration s'il détecte qu'il a été modifié.

Notes

Le fichier devenv.exe.config peut être modifié si vous avez installé des composants additionnels ou des plug-in Visual Studio.

Si le fichier devenv.exe.config a été modifié avant d'installer Service Pack 1 et que le fichier n'est pas corrigé, un message d'erreur s'affiche dans les cas suivants :

  • Vous essayez de re-cibler au .NET Framework 3.5 un projet de test à l'aide de Visual Studio 2010 avec Service Pack 1 installé.

  • Vous essayez d'ouvrir un projet de test qui a déjà été re-ciblé.

Pour corriger cette erreur, utilisez la procédures suivante.

Pour ajouter des entrées XML manquantes dans le fichier de configuration

  1. Fermez toutes les instances de Visual Studio 2010.

  2. Ouvrez l'invite de commandes Visual Studio 2010 en tant qu'administrateur.

  3. Changez de répertoire : "%programfiles%\MicrosoftVisual Studio 10.0\Common7\IDE" si vous utilisez Windows 32 bits ou "%programfiles(x86)%\MicrosoftVisual Studio 10.0\Common7\IDE" si vous utilisez Windows 64 bits.

  4. Ouvrez le fichier devenv.exe.config dans un éditeur de texte, tel que notepad.exe.

  5. Ajoutez les entrées suivantes sous le nœud <assemblyBinding> :

    <dependentAssembly>
    
            <assemblyIdentity name="Microsoft.VisualStudio.QualityTools.UnitTestFramework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
    
            <bindingRedirect oldVersion="10.1.0.0" newVersion="10.0.0.0"/>
    
          </dependentAssembly>
    
          <dependentAssembly>
    
            <assemblyIdentity name="Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
    
            <bindingRedirect oldVersion="10.1.0.0" newVersion="10.0.0.0"/>
    
          </dependentAssembly>
    
          <dependentAssembly>
    
            <assemblyIdentity name="Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
    
            <bindingRedirect oldVersion="10.1.0.0" newVersion="10.0.0.0"/>
    
          </dependentAssembly>
    
          <dependentAssembly>
    
            <assemblyIdentity name="Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Tip" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
    
            <bindingRedirect oldVersion="10.1.0.0" newVersion="10.0.0.0"/>
    
          </dependentAssembly>
    
  6. Ajoutez l'entrée suivante sous le nœud <configuration> :

    <appSettings>
        <add key="TestProjectRetargetTo35Allowed" value="true" />
     </appSettings>
    
  7. Enregistrez le fichier devenv.exe.config.

  8. Redémarrez Visual Studio 2010.

    Vous devez maintenant être en mesure de modifier la version cible de votre projet de test en choisissant .NET Framework 3.5.

Voir aussi

Concepts

Création et exécution des tests unitaires pour le code existant

Autres ressources

Développement SharePoint dans Visual Studio

Génération et débogage de solutions SharePoint