Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Można uaktualnić projekt testowy, zmieniając wersję MSTest, do której odwołuje się .csproj z MSTestV1 na MSTestV2. Nie wszystkie funkcje w msTestV1 zostały wprowadzone do MSTestV2, więc niektóre zmiany mogą być wymagane do usunięcia błędów. Zobacz funkcje MSTestV1, które nie są obsługiwane w MSTestV2, aby zrozumieć, które funkcje już nie działają. Niektóre z tych funkcji mogą wymagać usunięcia z testów.
Usuń odwołanie do zestawu Microsoft.VisualStudio.QualityTools.UnitTestFramework z projektu testów jednostkowych.
Dodaj odwołania do pakietów NuGet do MSTestV2, w tym do pakietów MSTest.TestFramework oraz MSTest.TestAdapter dostępnych na nuget.org. Pakiety można zainstalować w konsoli Menedżera pakietów NuGet, używając następujących poleceń:
PM> Install-Package MSTest.TestAdapter -Version 3.1.1 PM> Install-Package MSTest.TestFramework -Version 3.1.1
Przykład starego stylu csproj
Przykładowy .csproj skierowany na MSTestV1:
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
Przykładowy .csproj jest teraz skierowany do MSTestV2.
<Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\MSTest.TestFramework.2.1.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>
</Reference>
Notatka
Projekty testowe, które są kodowanymi testami interfejsu użytkownika lub internetowymi testami obciążeniowymi, nie są zgodne z msTestV2. Te typy projektów zostały przestarzałe. Przeczytaj więcej na temat wycofywania testu kodowanego interfejsu użytkownika oraz wycofywania testu obciążenia sieci Web .
Csproj w stylu SDK (.NET Core i .NET 5 lub nowsze)
Jeśli .csproj jest nowszym stylem zestawu SDK .csproj najprawdopodobniej używasz już msTestV2. Pakiety NuGet dla MSTestV2 i adaptera MSTestV2 można znaleźć w NuGet.
Przykład:
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.7.1" />
<PackageReference Include="MSTest.TestAdapter" Version="3.1.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.1.1" />
</ItemGroup>
Dlaczego warto przeprowadzić uaktualnienie do msTestV2?
W 2016 r. opublikowaliśmy kolejny krok w rozwoju platformy MSTest za pomocą msTestV2. Więcej informacji na temat tej zmiany można przeczytać w ogłoszeniu na blogu w wpisie .
Pakiet MSTestV2 można łatwiej uzyskać i zaktualizować, ponieważ jest dostarczany jako pakiet NuGet.
MSTestV2 jest oprogramowaniemtypu open source.
Jednolita obsługa platformy aplikacji — MSTestV2 to konwergentna implementacja, która oferuje jednolitą obsługę platformy aplikacji na platformie .NET Framework, .NET Core, ASP.NET Core i uwP. Przeczytaj więcej.
Implementacja jest w pełni międzyplatformowa (Windows, Linux, Mac). Przeczytaj więcej.
Program MSTestV2 obsługuje platformę .NET Framework 4.5.0 lub nowszą, platformę .NET Core 1.0 lub nowszą (aplikacje uniwersalne systemu Windows 10 lub nowsze), ASP.NET Core 1.0 i nowsze oraz .NET 5 i nowsze.
Zapewnia jednolity mechanizm rozszerzalności pojedynczego użytkownika końcowego. Przeczytaj więcej.
Zapewnia jednolitą obsługę
DataRow
dla wszystkich projektów testowych opartych na msTest. Przeczytaj więcej.Umożliwia umieszczenie atrybutu
TestCategory
na poziomie klasy lub zestawu. Przeczytaj więcej.Metody testowania z klas bazowych zdefiniowanych w innym zestawie są teraz odnajdywane i uruchamiane z pochodnej klasy testowej. Ta zmiana wprowadza spójność w zachowaniu z typami klas testowych pochodnych. Jeśli to zachowanie nie jest wymagane ze względów zgodności, można je zmienić z powrotem przy użyciu następujących ustawień uruchamiania:
<RunSettings> <MSTest> <EnableBaseClassTestMethodsFromOtherAssemblies>false</EnableBaseClassTestMethodsFromOtherAssemblies> </MSTest> </RunSettings>
Zapewnia bardziej szczegółową kontrolę nad równoległym wykonywaniem za pośrednictwem równoległego wykonywania w zestawie testów. Ta funkcja umożliwia równoległe uruchamianie testów w zestawie.
Metoda
TestCleanup
wTestClass
jest wywoływana, nawet jeśli odpowiednia metodaTestInitialize
zakończy się niepowodzeniem. detale problemu.Czas
AssemblyInitialize
iClassInitialize
nie jest liczony do czasu trwania testu. Ta zmiana ogranicza ich wpływ na przekroczenie limitu czasu testu.Testy, które nie można uruchomić, można skonfigurować tak, aby były oznaczone jako nieudane za pośrednictwem tagu
MapNotRunnableToFailed
, który jest częścią węzła adaptera w pliku.runsettings
.<RunSettings> <MSTest> <MapNotRunnableToFailed>true</MapNotRunnableToFailed> </MSTest> </RunSettings>
Funkcje MSTestV1, które nie są obsługiwane w msTestV2
- Nie można uwzględnić testów w "Planie wybranych testów".
- Zmiany w pliku
.testsettings
:- Nie można już używać do konfigurowania adaptera.
- Nie obsługuje już sekcji
<LegacySettings>
, co oznacza, że nie można jej używać do ustawiania atrybutów. Na przykładDeploymentItem
. Użyj nowego pliku .runsettings do konfiguracji przebiegu testu.
- Adapter nie obsługuje list testowych określonych jako plik .vsmdi.
- Typy "Projekt kodowanego testu interfejsu użytkownika" i "Projekt testu wydajności i obciążenia sieci Web" nie są obsługiwane. Przeczytaj więcej na temat wycofania kodowanego testu interfejsu użytkownika i oraz wycofania Web Load Test i.
- Skojarzenie z elementem testowym w programie TFS nie jest obsługiwane.