Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przebiegi testów w programie Visual Studio obejmują kompilowanie projektu w celu zaktualizowania plików binarnych na dysku przed użyciem platformy testowej do wykonywania testów. Czas kompilacji w programie Visual Studio może się różnić w zależności od rodzaju zmian wprowadzonych w kodzie. W przypadku większych rozwiązań kompilacje mogą być najdroższą częścią przebiegu testu. W programie Visual Studio 2022 lub nowszym można włączyć wykonywanie testów z ponownym ładowaniem na gorąco, aby przyspieszyć wykonywanie testów, pomijając kompilacje dla obsługiwanych scenariuszy.
Co jest obsługiwane?
- Projekty języka C# i VB przeznaczone dla platformy .NET 6.0 i nowszych
- Projekty testowe utworzone na potrzeby konfiguracji DEBUG
- Visual Studio 2022 i nowsze
Włącz wykonywanie testów z Hot Reload
Włącz tę funkcję, wybierając Test>Opcje>"(Eksperymentalne) Włączanie testów z przeładowaniem na gorąco dla projektów testowych C# i VB przeznaczonych dla platformy .NET 6 i nowszych".
Dlaczego jest to eksperymentalne?
Jest to nowy sposób wykonywania testów, w którym zmieniamy powszechnie używaną ścieżkę sprawdzania poprawności kodu. Oczekujemy również, że środowisko użytkownika wokół tej funkcji zmieni się, ponieważ otrzymujemy więcej opinii od użytkowników. Z tych dwóch powodów obecnie oznaczyliśmy tę funkcję jako "eksperymentalną".
Jak to działa
Po włączeniu opcji Eksplorator testów automatycznie będzie używać wykonywania testów z przeładowywaniem na gorąco, gdy jest to możliwe. Jeśli ponowne ładowanie na gorąco nie jest możliwe, system automatycznie wróci do zwykłego zachowania tworzenia i uruchamiania testów. Jako użytkownik uruchamiający testy nie trzeba wprowadzać żadnych zmian w przepływie pracy (czyli kontynuować edytowanie kodu i uruchamianie testów).
W tle używamy tej samej infrastruktury Edytuj i Kontynuuj, która istnieje w nowo wydanej funkcji Hot Reload do edytowania kodu C#/VB podczas działania aplikacji w celu określenia wprowadzonych zmian. Z tego powodu przeładujemy ponownie tylko wtedy, gdy nie ma "niegrzecznych edycji", w takim przypadku wracamy do kompilowania testów przed ich wykonaniem. Aby uzyskać więcej informacji na temat obsługiwanych edycji, przeczytaj dokumentację Edytowanie i kontynuowanie
Ile szybsze będzie wykonanie testu?
Istnieje wiele zmiennych, które wchodzą w grę podczas szacowania, ile czasu ta funkcja zaoszczędzi. Przykład:
- Jak długo trwa kompilacja projektu.
- Jaki rodzaj edycji został wykonany.
- Jak duży jest plik, w którym dokonano edycji.
- Gdzie dokonano edycji (jeśli był to projekt liścia, czy nie).
Ostatecznie ulepszenia szybkości będą bezpośrednio związane z czasem kompilacji, który miałby miejsce w tym konkretnym przebiegu testu.
Notatki
- Pierwszy przebieg testu po włączeniu opcji lub otwarciu programu Visual Studio spowoduje rozpoczęcie kompilacji projektu.
- Pliki w edytorze mogą nie być zapisywane po uruchomieniu testów. Aby rozwiązać te problemy i przed zatwierdzeniem, upewnij się, że wykonasz pełną kompilację (Ctrl+Shift+B).
- Pliki binarne na dysku nie są aktualizowane po ponownym załadowaniu ponownego wykonania testu.
- Przeładowane na gorąco wykonywanie testu nie działa z poleceniem "Uruchom>wszystkie testy", "Uruchom wszystkie testy w widoku" w Eksploratorze testów ani nie działa z poleceniem Uruchom wszystkie testy z węzła rozwiązania w Eksploratorze rozwiązań. Funkcja nie działa z tymi poleceniami, ponieważ te obecnie gwarantują zbudowanie całego rozwiązania.
- Gdy testy z nieobsługiwanymi platformami docelowymi (niższe niż .NET 6.0) są uruchamiane, następuje kompilacja projektu.
- Jeśli zobaczysz jakiekolwiek niespójności między elementami na dysku i tym, co pokazuje Eksplorator testów, rozważ kompilację rozwiązania/projektu przy użyciu kombinacji Ctrl+Shift+B , a następnie uruchom testy. Każda jawna kompilacja zastępuje wyniki testu przeładowywania na gorąco zwykłymi wynikami testu pełnej kompilacji.
Znane problemy
- Wykonywanie testu za pomocą przeładowywania na gorąco nie występuje w następujących scenariuszach:
- Pokrycie kodu
- Testy jednostkowe na żywo
- Profilowanie
- Debugowanie
- Ślady stosu mogą nie być czytelne w obecności nieczytelnych tokenów. Ten problem jest śledzony tutaj i jest planowany na poprawkę na platformie .NET 7.0
- Zalecanym obejściem w tym przypadku jest skompilowanie projektu i ponowne uruchomienie testu.
Twoja opinia ma znaczenie
Jak wspomniano wcześniej, aby ta funkcja eksperymentalna została ukończona, wymagamy twojej opinii. Jeśli masz sugestię, jak powinno wyglądać doświadczenie, lub napotkasz jakiekolwiek problemy, poświęć chwilę, aby zgłosić to nam. Tylko dzięki twojej opinii możemy upewnić się, że krytyczne problemy są rozwiązywane, a przyszłe decyzje są priorytetowane na podstawie twojej opinii.
Aby skontaktować się z nami, skorzystaj z mechanizmu opinii programu Visual Studio.