Partage via


Rechargement à chaud

Cette fonctionnalité nécessite le package NuGet Microsoft.Testing.Extensions.HotReload .

Conseil / Astuce

Lors de l’utilisation de Microsoft.Testing.Platform.MSBuild (inclus transitivement par MSTest, NUnit et les exécuteurs xUnit), cette extension est inscrite automatiquement lorsque vous installez son package NuGet , sans modification du code nécessaire. L’inscription manuelle spécifiée dans cet article n’est requise que si vous avez désactivé le point d’entrée généré automatiquement en définissant <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Inscription manuelle

var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHost.AddHotReloadProvider();

Rechargement à chaud

Hot reload vous permet de modifier le code source managé de votre application pendant l'exécution de l'application, sans avoir à suspendre manuellement ou à atteindre un point d'arrêt. Effectuez simplement une modification prise en charge pendant l’exécution de l’application et sélectionnez le bouton Apply code change dans Visual Studio pour appliquer vos modifications.

Note

La version actuelle est limitée à la prise en charge des hot reload en mode console uniquement. Il n’existe actuellement aucune prise en charge des hot reload dans l’Explorateur de tests pour Visual Studio ou Visual Studio Code.

Note

Le package est fourni avec la licence Microsoft.Testing.Platform Tools restrictive. La licence complète est disponible à https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.0.0/License.

Vous pouvez facilement activer la prise en charge du rechargement à chaud en définissant la variable d’environnement TESTINGPLATFORM_HOTRELOAD_ENABLED sur "1".

Pour les projets de style SDK, vous pouvez ajouter "TESTINGPLATFORM_HOTRELOAD_ENABLED": "1" dans la section environmentVariables du fichier launchSettings.json. L’extrait de code suivant montre un exemple de fichier :

{
  "profiles": {
    "Contoso.MyTests": {
      "commandName": "Project",
      "environmentVariables": {
        "TESTINGPLATFORM_HOTRELOAD_ENABLED": "1"
      }
    }
  }
}