Udostępnij za pośrednictwem


Hot Reload

Ta funkcja wymaga pakietu NuGet Microsoft.Testing.Extensions.HotReload .

Wskazówka

W przypadku korzystania z Microsoft.Testing.Platform.MSBuild (włączonego przechodnio w narzędzia uruchomieniowe MSTest, NUnit i xUnit), to rozszerzenie jest automatycznie rejestrowane podczas instalowania pakietu NuGet — bez konieczności wprowadzania zmian w kodzie. Rejestracja ręczna określona w tym artykule jest wymagana tylko w przypadku wyłączenia automatycznie wygenerowanego punktu wejścia przez ustawienie<GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Rejestracja ręczna

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

Gorące przeładowanie

Hot reload umożliwia modyfikowanie zarządzanego kodu źródłowego aplikacji podczas działania aplikacji bez konieczności ręcznego wstrzymania lub trafienia punktu przerwania. Po prostu wprowadź obsługiwaną zmianę, gdy aplikacja jest uruchomiona, a następnie wybierz przycisk Aplikuj zmiany kodu w Visual Studio, aby zastosować zmiany.

Uwaga / Notatka

Bieżąca wersja jest ograniczona do obsługi hot reload tylko w trybie konsoli. Obecnie nie ma obsługi funkcji "hot reload" w Eksploratorze testów dla Visual Studio ani Visual Studio Code.

Uwaga / Notatka

Pakiet jest dostarczany z restrykcyjną licencją Microsoft.Testing.Platform Tools. Pełna licencja jest dostępna na stronie https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.0.0/License.

Obsługę hot reload można łatwo włączyć, ustawiając zmienną środowiskową TESTINGPLATFORM_HOTRELOAD_ENABLED na "1".

W przypadku projektów w stylu zestawu SDK można dodać "TESTINGPLATFORM_HOTRELOAD_ENABLED": "1" w sekcji environmentVariables pliku launchSettings.json. Poniższy fragment kodu przedstawia przykładowy plik:

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