Note
ãã®ããŒãžã«ã¢ã¯ã»ã¹ããã«ã¯ãæ¿èªãå¿ èŠã§ãã ãµã€ã³ã€ã³ãŸãã¯ãã£ã¬ã¯ããªã®å€æŽã詊ãããšãã§ããŸãã
ãã®ããŒãžã«ã¢ã¯ã»ã¹ããã«ã¯ãæ¿èªãå¿ èŠã§ãã ãã£ã¬ã¯ããªã®å€æŽã詊ãããšãã§ããŸãã
ãã®èšäºã§ã¯ãMSTest.Sdk ã®é«åºŠãªæ§æãªãã·ã§ã³ã«ã€ããŠèª¬æããŸãã åºæ¬ã»ããã¢ãããšéå§æ¹æ³ã«ã€ããŠã¯ãMSTest ã®éå§æ¹æ³ãåç §ããŠãã ããã
éèŠ
æ¢å®ã§ã¯ãMSTest.Sdk ã¯MTP ä»ã MSTest ã©ã³ããŒã䜿çšããdotnet ãã¹ãã§ãåæ§ã§ãã ããã«ã¯ãCI åŒã³åºããšããŒã«ã« CLI åŒã³åºãã倿Žããå¿ èŠãããã .runsettings ã®äœ¿çšå¯èœãªãšã³ããªã«ã圱é¿ããŸãã VSTest ã«åãæ¿ããããšã§ãå€ãçµ±åãšããŒã«ãç¶æã§ããŸãã
MSTest.Sdk ã§ã¯ãæ¢å®ã§ EnableMSTestRunner ãš TestingPlatformDotnetTestSupport ã true ã«èšå®ãããŸãã dotnet ãã¹ããšãã®ããŸããŸãªã¢ãŒãã®è©³çްã«ã€ããŠã¯ãã dotnet ãã¹ãã䜿çšãããã¹ãããåç
§ããŠãã ããã
ãŠãŒãã£ãªã㣠ãã«ã㌠ã©ã€ãã©ãªããã¹ããã
MSTest.Sdk ã䜿çšããprojectããã¹ã ãŠãŒãã£ãªã㣠ãã«ã㌠ã©ã€ãã©ãªã§ãããããèªäœã«å®è¡å¯èœãªãã¹ããå«ãŸããŠããªãå Žåãprojectã«ã¯ <IsTestApplication>false</IsTestApplication> ãå¿
èŠã§ãã
ã©ã³ããŒãéžæãã
æ¢å®ã§ã¯ãMSTest SDK 㯠MTP ã«äŸåããŠããŸããããããã㣠ã远å ããããšã§ <UseVSTest>true</UseVSTest> ã«åãæ¿ããããšãã§ããŸãã
Windows ã¢ããªã±ãŒã·ã§ã³ ã¢ãã«ããã¹ããã
MSTest.Sdk 4.5 以éãæ¢å®ã® MTP ã©ã³ããŒã§ã¯ã次ã®Windows ã¢ããªã±ãŒã·ã§ã³ ã¢ãã«ããµããŒããããŠããŸãã
-
uap10.0ã察象ãšããåŸæ¥ã® UWP ãããžã§ã¯ãã - .NET 10 ã䜿çšãã
UseUwpãtrueã«èšå®ããææ°ã® UWP ãããžã§ã¯ãã - ããã±ãŒãžåãããå®å šä¿¡é Œ WinUI 3 ãããžã§ã¯ãã
- ããã±ãŒãžåãããŠããªã WinUI 3 ãããžã§ã¯ãã
-
packagedClassicAppãèšå®ãã WinUI 3TrustLevel="appContainer"ãããžã§ã¯ãã
MSTest.Sdk ã¯ãäºææ§ã®ãã MTP 2.5 ã³ã³ããŒãã³ããæäŸããããã±ãŒãžåããããã¹ã ãã¹ããš AppContainer ãã¹ã ãã¹ãçšã®å®å šä¿¡é Œã¢ã㪠ã¢ãã« ãµã€ãã«ãŒãéå§ããŸãã ãµã€ãã«ãŒã¯ããã±ãŒãžãç»é²ããAUMID ã«ãã£ãŠéžæãããã¢ããªã±ãŒã·ã§ã³ãã¢ã¯ãã£ãåããAppContainer éä¿¡çšã®æ£ç¢ºãªããã±ãŒãž SID ãæ¿èªããããã±ãŒãž ã¹ãã¬ãŒãžããçµæææç©ãå埩ããŸãã
UWP ãããžã§ã¯ãã§ã¯ããã«ãæã®ãµããŒãã®ããã«ãVisual Studio UWP ã¯ãŒã¯ããŒããšãã¹ã¯ããã MSBuild ãåŒãç¶ãå¿
èŠã§ãã
Microsoft.NET.Test.Sdkãvstest.consoleããŸã㯠Visual Studio UWP ãã¹ã ã©ã³ã¿ã€ã ãããã€ããŒã¯å¿
èŠãããŸããã
ãããžã§ã¯ãã®æ§æãã³ãã³ãã®å®è¡ããµã³ãã«ã«ã€ããŠã¯ãã MSTest ãš MTP ã䜿çšã㊠UWP ã¢ããªãš WinUI 3 ã¢ããªããã¹ãããããåç §ããŠãã ããã
MSTest.Sdk 4.5 ãã¬ãã¥ãŒä»¥éã§ã¯ãEnableWindowsUIAutomationã true ã«èšå®ããŠãäžèŽããMSTest.Windows.UIAutomation ããã±ãŒãžãWindows察象ãããžã§ã¯ãã«è¿œå ããŸãã ãã®æ©èœã¯ãUWP ãŸã㯠WinUI ã¢ããªå
ã§ãã¹ãããã¹ãããã®ã§ã¯ãªããããã±ãŒãžåãããŠããªãå€éšã® Win32ãWindows ãã©ãŒã ããŸãã¯WPF ã¢ããªã±ãŒã·ã§ã³ãèµ·åããŠèªååããŸãã 詳现ã«ã€ããŠã¯ããMSTest UI ãªãŒãã¡ãŒã·ã§ã³ ã䜿çšããŠãã¹ã¯ããã ã¢ããªWindowsãã¹ãããããåç
§ããŠãã ããã
MTP ã®æ¡åŒµ
äžé£ã® NuGet ããã±ãŒãžæ¡åŒµæ©èœã䜿çšã㊠MTP ãšã¯ã¹ããªãšã³ã¹ãã«ã¹ã¿ãã€ãºã§ããŸãã ãã®ãšã¯ã¹ããªãšã³ã¹ãç°¡çŽ åããã³æ¹åããããã«ãMSTest SDK ã§ã¯æ¬¡ã® 2 ã€ã®æ©èœãå°å ¥ãããŠããŸãã
MSTest 4.4 以éãMSTest ã¢ããã¿ãŒã¯ãã€ãã£ã MTP çµ±åã䜿çšãã Microsoft.Testing.Extensions.VSTestBridgeã«äŸåããªããªããŸããã MTP ãã¹ã ã¢ããªã±ãŒã·ã§ã³ã VSTest ã¢ããã¿ãŒãä»ããŠãã¬ãŒã ã¯ãŒã¯ãå®è¡ããå¿
èŠãããå Žåã«ã®ã¿ãããªããžãæç€ºçã«åç
§ããŸãã
Microsoft.Testing.Platform ãããã¡ã€ã«
profiles ã®æŠå¿µã§ã¯ããã¹ã projectã«é©çšãããæ§æãšæ¡åŒµæ©èœã®æ¢å®ã®ã»ãããéžæã§ããŸãã
ãããã¡ã€ã«ãèšå®ããã«ã¯ããããã㣠TestingExtensionsProfile ã䜿çšããŠä»¥äžã® 3 ã€ã®ãããã¡ã€ã«ã®ãããããæå®ããŸãã
None- æ¡åŒµæ©èœã¯äœãæå¹åãããŸãããDefault- ãã®ããŒãžã§ã³ã® MSTest.SDK ã«å¯ŸããŠæšå¥šãããæ¡åŒµæ©èœãæå¹ã«ãªããŸãã ããã¯ãããããã£ãæç€ºçã«èšå®ãããŠããªãå Žåã®æ¢å®å€ã§ãã以äžã®æ¡åŒµæ©èœãæå¹ã«ãªããŸãã
- ã³ãŒã ã«ãã¬ããž
- Trx ã¬ããŒã
- Azure DevOps ã¬ããŒã (MSTest.Sdk 4.3.0 以é)
- GitHub Actions ã¬ããŒã (MSTest.Sdk 4.3.0 以éãããã±ãŒãžã¯ 4.3.x ã§ãã¬ãªãªãŒã¹ããã4.4 以éã® MTP ãªãªãŒã¹ ããŒãžã§ã³ã«åŸã£ãŠããŸã)
AllMicrosoft- å¶éä»ãã®ã©ã€ã»ã³ã¹ã®æ¡åŒµæ©èœãå«ããæšæºã§å¹ åºãå©çšã§ããããéžå®ããã Microsoft æ¡åŒµæ©èœãæå¹ã«ããŸãã 詊éšçããã³ API å°çšã®æ¡åŒµæ©èœã§ã¯ãåŒãç¶ãæç€ºçãªãªããã€ã³ãå¿ èŠãªå ŽåããããŸããDefaultãããã¡ã€ã«ã®ãã¹ãŠã®æ¡åŒµæ©èœãšãæ¬¡ã®æ¡åŒµæ©èœãæå¹ã«ããŸãã- ã¯ã©ãã·ã¥ ãã³ã
- Fakes (MSTest.Sdk 3.7.0 以é)
- ãã³ã°ãã³ã
- ããã ãªããŒã
- HTML ã¬ããŒã
- å詊è¡
MSTest.Sdk ããŒãžã§ã³ 3.11.0 ãã 4.2.x ã§ã¯ãAzure DevOps ã¬ããŒãæ¡åŒµæ©èœã¯
AllMicrosoftã«ã®ã¿å«ãŸããŸãã
泚
ãããã¡ã€ã«ã¯Azure DevOps ã¬ããŒã ããã±ãŒãžãš GitHub Actions ã¬ããŒã ããã±ãŒãžãåç
§ããŸãããå®è¡æã«ã¬ããŒãã¯ç¡å¹ã®ãŸãŸã§ãã
--report-azdoãæž¡ããŠãAzure DevOpsã¬ããŒããæå¹ã«ããŸãã GitHub Actionsã¬ããŒããæå¹ã«ããã«ã¯ãGitHub Actionsã§ãã¹ããå®è¡ãã--report-ghã«åæ ŒããŸãã
None ãããã¡ã€ã«ã䜿çšããå®å
šãªäŸã次ã«ç€ºããŸãã
<Project Sdk="MSTest.Sdk/4.1.0">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<TestingExtensionsProfile>None</TestingExtensionsProfile>
</PropertyGroup>
</Project>
| æ¡åŒµæ©èœ/ãããã¡ã€ã« | ãªã | æ¢å®å€ | AllMicrosoft |
|---|---|---|---|
| ã³ãŒã ã«ãã¬ããž | âïž | âïž | |
| ã¯ã©ãã·ã¥ ãã³ã | âïž | ||
| åœç© | âïžÂ¹ | ||
| ãã³ã°ãã³ã | âïž | ||
| ããã ãªããŒã | âïž | ||
| HTML ã¬ããŒã | âïž | ||
| GitHub Actions ã¬ããŒã | âïžÂ³ | âïžÂ³ | |
| åè©Šè¡ | âïž | ||
| Trx | âïž | âïž | |
| Azure DevOps ã¬ããŒã | âïžÂ³ | âïžÂ² |
¹ MSTest.Sdk 3.7.0+ ² MSTest.Sdk 3.11.0+ ² MSTest.Sdk 4.3.0+
æ¡åŒµæ©èœãæå¹ãŸãã¯ç¡å¹ã«ãã
æ¡åŒµæ©èœãæå¹ãŸãã¯ç¡å¹ã«ããã«ã¯ãEnable[NugetPackageNameWithoutDots] ãšãããã¿ãŒã³ã® MSBuild ã®ããããã£ã䜿çšããŸãã
ããšãã°ãã¯ã©ãã·ã¥ ãã³ãæ¡åŒµæ©èœ (NuGet ããã±ãŒãž Microsoft.Testing.Extensions.CrashDump) ãæå¹ã«ããã«ã¯ã次ã®ãããã㣠EnableMicrosoftTestingExtensionsCrashDump ã true ã«èšå®ããããšãã§ããŸãã
<Project Sdk="MSTest.Sdk/4.1.0">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<EnableMicrosoftTestingExtensionsCrashDump>true</EnableMicrosoftTestingExtensionsCrashDump>
</PropertyGroup>
</Project>
䜿çšå¯èœãªãã¹ãŠã®æ¡åŒµæ©èœã®äžèЧã«ã€ããŠã¯ã MTP æ©èœãåç §ããŠãã ããã
äžéšã® MTP æ¡åŒµæ©èœã¯ãªããã€ã³ã®ãŸãŸã§ããã Default ãããã¡ã€ã«ã AllMicrosoft ãããã¡ã€ã«ã«ã¯å«ãŸããŸããã
- MSTest.Sdk 4.3 以éã§ã¯ã
<EnableMicrosoftTestingExtensionsJUnitReport>true</EnableMicrosoftTestingExtensionsJUnitReport>ãèšå®ãã--report-junitæž¡ããŸãã - MSTest.Sdk 4.4 以éã§ã¯ã
<EnableMicrosoftTestingExtensionsCtrfReport>true</EnableMicrosoftTestingExtensionsCtrfReport>ãèšå®ãã--report-ctrfæž¡ããŸãã - OpenTelemetry æ¡åŒµæ©èœãåç
§ããã«ã¯ã
<EnableMicrosoftTestingExtensionsOpenTelemetry>true</EnableMicrosoftTestingExtensionsOpenTelemetry>èšå®ããŸãã æ¡åŒµæ©èœã«ã¯ API æ§æãå¿ èŠã§ããããã OpenTelemetry ã®èª¬æã«åŸã£ãŠã«ã¹ã¿ã ãšã³ã㪠ãã€ã³ãã«ç»é²ããŸãã
ãããã®æ¡åŒµæ©èœã¯ MTP ã§ã®ã¿äœ¿çšã§ããŸãã
èŠå
æ¡åŒµæ©èœããšã«ã©ã€ã»ã³ã¹æ¡ä»¶ãç°ãªãå Žåãããããã確èªããããšãéèŠã§ãã
æ¡åŒµæ©èœã®æå¹åãšç¡å¹åã®æå®ã¯ãéžææžã¿ã®æ¡åŒµæ©èœãããã¡ã€ã«ã§ã®æ¡åŒµæ©èœã®æå®ãšçµåãããŸãã
ãã®ãããã㣠ãã¿ãŒã³ã䜿çšãããšãæé»ç㪠Default ãããã¡ã€ã«ã®äžã«è¿œå ã®æ¡åŒµæ©èœãæå¹ã«ããããšãã§ããŸã (åã® CrashDumpExtension ã®äŸãåç
§)ã
éžæãããããã¡ã€ã«ããã®æ¡åŒµæ©èœãç¡å¹ã«ããããšãã§ããŸãã ããšãã°ã MS Code Coverageãèšå®ã㊠<EnableMicrosoftTestingExtensionsCodeCoverage>false</EnableMicrosoftTestingExtensionsCodeCoverage>æ¡åŒµæ©èœãç¡å¹ã«ããŸãã
<Project Sdk="MSTest.Sdk/4.1.0">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<EnableMicrosoftTestingExtensionsCodeCoverage>false</EnableMicrosoftTestingExtensionsCodeCoverage>
</PropertyGroup>
</Project>
MSTest.Sdk 4.3.0 以éã§ã¯ãDefault ãããã¡ã€ã«ã¯Azure DevOps ã¬ããŒã ããã±ãŒãžãš GitHub Actions ã¬ããŒã ããã±ãŒãžãåç
§ããŸãã ããã±ãŒãžåç
§ãåé€ããã«ã¯ã <EnableMicrosoftTestingExtensionsAzureDevOpsReport>false</EnableMicrosoftTestingExtensionsAzureDevOpsReport> ãŸã㯠<EnableMicrosoftTestingExtensionsGitHubActionsReport>false</EnableMicrosoftTestingExtensionsGitHubActionsReport>ãèšå®ããŸãã ããã±ãŒãžåç
§ãä¿æããå ŽåãAzure DevOpsã¬ããŒãã¯ã--report-azdoãæž¡ãããšãã«ã®ã¿éå§ãããŸãã GitHub Actionsã¬ããŒãã¯ãGitHub Actionsã§ãã¹ããå®è¡ãã--report-ghã«åæ Œããå Žåã«ã®ã¿éå§ãããŸãã
æ©èœ
ã©ã³ããŒãšã©ã³ããŒåºæã®æ¡åŒµæ©èœã®éžæä»¥å€ã«ãã MSTest.Sdk ã¯ãã¹ã ãšã¯ã¹ããªãšã³ã¹ãç°¡çŽ åããã³åŒ·åããããã®è¿œå æ©èœãæäŸããŸãã
Aspire ãçšããŠãã¹ããã
Aspire ã¯ãç£èŠå¯èœã§éçšç°å¢ã«å¯Ÿå¿ãã忣ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®ãã¯ã©ãŠã察å¿ã®ãªãããªã³ã¹ã¿ãã¯ã§ãã Aspire ã¯ãç¹å®ã®ã¯ã©ãŠããã€ãã£ãã®æžå¿µäºé ãåŠçãã NuGet ããã±ãŒãžã®ã³ã¬ã¯ã·ã§ã³ãéããŠé ä¿¡ãããŸãã 詳现ã«ã€ããŠã¯ã Aspire ããã¥ã¡ã³ããåç §ããŠãã ããã
泚
ãã®æ©èœã¯ãMSTest.Sdk 3.4.0 ããå ¥æã§ããŸãã
ãããã㣠EnableAspireTesting ã true ã«èšå®ãããšã using ããã³ Aspireã䜿çšãããã¹ãã«å¿
èŠãªãã¹ãŠã®äŸåé¢ä¿ãšããã©ã«ãã® MSTest ãã£ã¬ã¯ãã£ããå°å
¥ã§ããŸãã
<Project Sdk="MSTest.Sdk/4.1.0">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<EnableAspireTesting>true</EnableAspireTesting>
</PropertyGroup>
</Project>
Playwrightã§ãã¹ããã
ãã¬ã€ã©ã€ãã¯ãææ°ã®web appsã«å¯ŸããŠä¿¡é Œæ§ã®é«ããšã³ãããŒãšã³ãã®ãã¹ããå¯èœã«ããŸãã 詳现ã«ã€ããŠã¯ãå ¬åŒã® Playwright ã®ããã¥ã¡ã³ããåç §ããŠãã ããã
泚
ãã®æ©èœã¯ãMSTest.Sdk 3.4.0 ããå ¥æã§ããŸãã
ãããã㣠EnablePlaywright ã true ã«èšå®ãããšã using ããã³ Playwright ã䜿çšãããã¹ãã«å¿
èŠãªãã¹ãŠã®äŸåé¢ä¿ãšããã©ã«ãã® MSTest ãã£ã¬ã¯ãã£ããåã蟌ãããšãã§ããŸãã
<Project Sdk="MSTest.Sdk/4.1.0">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<EnablePlaywright>true</EnablePlaywright>
</PropertyGroup>
</Project>
MSTest SDKãžã®ç§»è¡
MSTest SDK ã«ç§»è¡ããããã«å¿ èŠãªæ¬¡ã®æé ãæ€èšããŠãã ããã
projectãæŽæ°ãã
æ¢åã® MSTest ãã¹ã ãããžã§ã¯ãã MSTest SDK ã«ç§»è¡ããå Žåã¯ããŸãããã¹ã ãããžã§ã¯ãã®äžéšã«ãã Sdk="Microsoft.NET.Sdk" ãšã³ããªã Sdk="MSTest.Sdk"ã«çœ®ãæããŸã
- Sdk="Microsoft.NET.Sdk"
+ Sdk="MSTest.Sdk"
global.json ã«ããŒãžã§ã³ã远å ããŸãã
{
"msbuild-sdks": {
"MSTest.Sdk": "4.1.0"
}
}
ãã®åŸãprojectã®ç°¡ç¥åãéå§ã§ããŸãã
ããã©ã«ãã®ããããã£ãåé€ããŸã:
- <EnableMSTestRunner>true</EnableMSTestRunner>
- <OutputType>Exe</OutputType>
- <IsPackable>false</IsPackable>
- <IsTestProject>true</IsTestProject>
ããã©ã«ãã®ããã±ãŒãžåç §ãåé€ããŸã:
- <PackageReference Include="MSTest"
- <PackageReference Include="MSTest.TestFramework"
- <PackageReference Include="MSTest.TestAdapter"
- <PackageReference Include="MSTest.Analyzers"
- <PackageReference Include="Microsoft.NET.Test.Sdk"
æåŸã«ã䜿çšããŠããæ¡åŒµæ©èœãããã¡ã€ã«ã«åºã¥ããŠãMicrosoft.Testing.Extensions.* ããã±ãŒãžã®äžéšãåé€ããããšãã§ããŸãã
CI ãæŽæ°ãã
ãããžã§ã¯ããæŽæ°ããããMTP (æ¢å®) ã䜿çšããŠããŠã dotnet test ã«äŸåããŠãã¹ããå®è¡ããå Žåã¯ãCI æ§æãæŽæ°ããå¿
èŠããããŸãã 詳现æ
å ±ãšå¿
èŠãªãã¹ãŠã®å€æŽã®çè§£ã«ã€ããŠã¯ã dotnet test integrationãåç
§ããŠãã ããã
dotnet test ã® VSTest ã¢ãŒãã䜿çšããŠããå ŽåãAzure DevOpsã§ DotNetCoreCLI ã¿ã¹ã¯ã䜿çšããå Žåã®æŽæ°äŸã次ã«ç€ºããŸãã
æ¢å®ã® MSTest.Sdk æ¡åŒµæ©èœãããã¡ã€ã«ã¯ã远å ããããªãã·ã§ã³ã§å¿
èŠãª Microsoft.Testing.Extensions.TrxReport ããã±ãŒãžãš Microsoft.Testing.Extensions.CodeCoverage ããã±ãŒãžãæäŸããŸãã
None ãããã¡ã€ã«ãéžæããå Žåã¯ããªãã·ã§ã³ã䜿çšããåã«äž¡æ¹ã®æ¡åŒµæ©èœãæå¹ãŸãã¯åç
§ããŸãã
\- task: DotNetCoreCLI@2
inputs:
command: 'test'
projects: '**/**.sln'
- arguments: '--configuration Release'
+ arguments: '--configuration Release -- --report-trx --results-directory $(Agent.TempDirectory) --coverage'
ãªãã¬ã¯ã·ã§ã³ ãœãŒã¹ ãžã§ãã¬ãŒã¿ãŒ
MSTest 4.3 ã§ã¯ãç¬ç«ããŒãžã§ã³ç®¡çããã詊éšç㪠MSTest.SourceGeneration ããã±ãŒãžã«ãªãã¬ã¯ã·ã§ã³ ãœãŒã¹ ãžã§ãã¬ãŒã¿ãŒãå°å
¥ãããŸããã MSTest 4.4 以éãããã±ãŒãžã¯è©Šé𿮵éã®ç¶æ
ãã忥ããMSTest ããŒãžã§ã³ã䜿çšããŸãã
ãã€ãã£ã AOT ãããžã§ã¯ãã«ã¯ããœãŒã¹ ãžã§ãã¬ãŒã¿ãŒãèªåçã«å«ãŸããŸãã MSTest.Sdk ã䜿çšãã NativeAOT 以å€ã®ãããžã§ã¯ãã®å Žåã¯ã <EnableMSTestSourceGeneration>true</EnableMSTestSourceGeneration>ã䜿çšããŠãªããã€ã³ããŸãã MSTest.Sdk ã¯ã MSTest.SourceGenerationã MSTest.TestFrameworkãããã³ MSTest.TestAdapter ã®ããŒãžã§ã³ã MSTestVersionã«åãããŠèª¿æŽããŸãã
SDK ã§ã¯ãäžå€®ããã±ãŒãžç®¡çã䜿çšããåå©çšå¯èœãªãã¹ã ã©ã€ãã©ãªãšãããžã§ã¯ãã§ã®ãœãŒã¹çæããµããŒããããŠããŸãã äžèŽ MSTest.TestAdapter ã©ã³ã¿ã€ã ããã¯ãæäŸããå¿
èŠãª PackageVersion é
ç®ãçæããŸãã
.NET Standard ã§ã¯ããããã®ã©ã³ã¿ã€ã ããã¯ã¯ãµããŒããããŠããŸããã .NET Standard ã¿ãŒã²ããã®ãœãŒã¹çæãæå¹ã«ãããšãSDK ã«ãã£ãŠæ¬¡ã®ãšã©ãŒãå ±åãããŸãã
å¿ èŠãª MSTest.TestAdapter ã©ã³ã¿ã€ã ããã¯ã䜿çšã§ããªãããã.NET Standard ã¿ãŒã²ãã ãã¬ãŒã ã¯ãŒã¯ã§ã¯ MSTest ãœãŒã¹ã®çæã¯ãµããŒããããŠããŸããã
ãœãŒã¹ ãžã§ãã¬ãŒã¿ãŒã¯ãã³ã³ãã€ã«æã«ãã¹ããæ€åºããŸãã ãžã§ãã¬ãŒã¿ãŒãã¢ã¯ãã£ããªå Žåããã¹ã ã¯ã©ã¹ã¯ [TestClass] ãç¶æ¿ããã®ã§ã¯ãªããçŽæ¥å®£èšããå¿
èŠããããŸãã
MSTEST0069 ã¢ãã©ã€ã¶ãŒã¯ãç¶æ¿ããã[TestClass]ã«äŸåããã¯ã©ã¹ã«ãã©ã°ãèšå®ããŸãã
MSTest 4.3.2 以éãããªãã³ã°ããããããžã§ã¯ãããã³ Native AOT ãããžã§ã¯ãã§ã¯ãMSTestSourceGenMode ã¯æ¢å®ã§ ReflectionFree ã«ãªããŸãã ãã®ã¢ãŒãã§ã¯ããã¹ã圢ç¶ããµããŒãããŠããå Žåã«ãçæãããã¡ã¿ããŒã¿ãšã€ã³ããŒã«ãŒã䜿çšããŸãã ãªãã¬ã¯ã·ã§ã³ããµããŒãããã©ã³ã¿ã€ã ã§ã¯ãMSTest ã¯ããµããŒããããŠããªãçæãšã³ããªããŸãã¯ååšããªãçæãšã³ããªã«å¯ŸããŠããªãã¬ã¯ã·ã§ã³ã«ãã©ãŒã«ããã¯ããŸãã
MSTest 4.4 以éããªãã¬ã¯ã·ã§ã³ããªãŒçæã§ã¯ã AttributeUsage ã AllowMultipleãå«ããå®å
šãªç¶æ¿ããã屿§ã¡ã¿ããŒã¿ãå
·äœåãããŸãã MTP ã§ã¯ããã¬ãŒã³ãªåæ [TestMethod] ããã³ [DataRow] ã¡ãœããã®å®è¡æã®æ€åºãšæ€èšŒããã€ãã¹ã§ããŸãã éåæãã¹ããã«ã¹ã¿ã ãã¹ã ã¡ãœãã屿§ã DynamicDataãã«ã¹ã¿ã ITestDataSource å®è£
ããããŸããªãã¹ãå³åœ¢ã§ã¯ããã©ãŒã«ãã㯠ãã¹ã䜿çšãããŸãã VSTest ã¯æ¢åã®ãã¹ãä¿æããŸãã
ãªãã¬ã¯ã·ã§ã³ããªãŒ ã¢ãŒãã§ã¯ã次ã®èšºæãå ±åãããŸãã
| ID | ãµããŒããããŠããªããã¹ãå³åœ¢ |
|---|---|
AOTSG0001 |
éçãã¹ãã¯ã©ã¹ |
AOTSG0002 |
ãžã§ããªãã¯åã§å ¥ãåã«ãªã£ãã¯ã©ã¹ãå«ãããžã§ããªã㯠ãã¹ã ã¯ã©ã¹ãéã |
AOTSG0003 |
çæãããã³ãŒããã¢ã¯ã»ã¹ã§ããªãã¯ã©ã¹ (ãã¡ã€ã« ããŒã«ã« ã¯ã©ã¹ããã©ã€ããŒããŸãã¯ãã©ã€ããŒãã§ä¿è·ãããå ¥ãåãªã©) |
AOTSG0004 |
ãžã§ããªã㯠ãã¹ã ã¡ãœãã |
AOTSG0005 |
refãinããŸã㯠out ãã©ã¡ãŒã¿ãŒã䜿çšãããã¹ã ã¡ãœãã |
å®éšçãªæ©èœ
次㮠MSTest 4.3 æ©èœã¯ è©Šéšæ®µéã§ãã ãããã®å ¬é API ã¯å€æŽãããå Žåããããå®éšçãªèšºææ©èœãéããŠæäŸãããŠããŸãã ãªããã€ã³ããã«ã¯ã察å¿ãã蚺æ ID ã確èªããŸãã
ITestFilter ã«ããããã°ã©ã ã«ãããã¹ãã®ãã£ã«ã¿ãŒ
泚
MSTest 4.3.0 (è©Šéšæ®µé) ã§å°å ¥ãããŸããã
ITestFilterã«ãã£ãŠç»é²ããã詊éšçãª[TestFilterProviderAttribute]æ¡åŒµãã€ã³ãã䜿çšãããšããã¹ã ã¯ã©ã¹ãèªã¿èŸŒãŸããåã«ãåãã¹ããå®è¡ãããã©ãããããã°ã©ã ã§æ±ºå®ã§ããŸãã ããã¯ãã³ãã³ã ã©ã€ã³ ãã£ã«ã¿ãŒã§ã¯è¡šçŸã§ããªãã«ã¹ã¿ã éžæããžãã¯ã«åœ¹ç«ã¡ãŸãã
ãã¹ã ã¯ã©ã¹ãèªã¿èŸŒãŸãã«ã¡ã¿ããŒã¿ãæ€æ»ãã ITestFilter.Filter(TestFilterContext) ãå®è£
ããŸãã
public sealed class MyFilter : ITestFilter
{
public TestFilterResult Filter(TestFilterContext context) =>
context.DisplayName.Contains("Nightly", StringComparison.Ordinal)
? TestFilterResult.Run : TestFilterResult.Drop;
}
ãã¹ããå®è¡ãã TestFilterResult.Run ãè¿ããçµæãªãã§çç¥ãã Drop ãã¹ããããããçµæãå ±åãã Skip(reason) ã MSTest 㯠1 ã€ã®ãã£ã«ã¿ãŒ ã€ã³ã¹ã¿ã³ã¹ãåæã«åŒã³åºãããšãã§ãããããå®è£
ã¯ã¹ã¬ãã ã»ãŒãã§ããå¿
èŠããããŸãã ã³ãã³ã ã©ã€ã³ ãã£ã«ã¿ãŒãšãã¹ã ãšã¯ã¹ãããŒã©ãŒ ãã£ã«ã¿ãŒã¯ã ITestFilteråã«å®è¡ãããŸããã [Ignore] ã¯åŸã§è©äŸ¡ãããŸãã
MSTest 4.4 以éã.NET ãããžã§ã¯ãã§ã¯ãæ±çšã®ã¿ã€ã ã»ãŒããªç»é²ãã©ãŒã [assembly: TestFilterProvider<MyFilter>]ã䜿çšã§ããŸãã ãã®åŸãã³ã³ãã€ã©ã¯ã MyFilter ã ITestFilter ãå®è£
ãããã©ã¡ãŒã¿ãŒãªãã®ãããªã㯠ã³ã³ã¹ãã©ã¯ã¿ãŒãæã£ãŠããããšã匷å¶ããŸãã ãžã§ããªãã¯å±æ§ã¯ã.NET Framework ã§ã¯äœ¿çšã§ããŸããã ãã«ãã¿ãŒã²ãã ãããžã§ã¯ãã®å Žåã¯ãã¿ãŒã²ãã ãã¬ãŒã ã¯ãŒã¯ ããªããã»ããµ ã·ã³ãã«ãå«ãæ±çšãã©ãŒã ãŸãã¯éãžã§ããªã㯠ãã©ãŒã ãéžæããŸãã
#if NET
[assembly: TestFilterProvider<MyFilter>]
#else
[assembly: TestFilterProvider(typeof(MyFilter))]
#endif
MSTest 4.4 以éã MSTEST0081 ã¢ãã©ã€ã¶ãŒã¯éãžã§ããªãã¯ç»é²ãã©ãŒã ãå®å šã«æ€èšŒããŸãã ãžã§ããªã㯠ãã©ãŒã ã®å Žåã§ããè€æ°ã®ãããã€ããŒãç»é²ãããžã§ããªã㯠ãã£ã«ã¿ãŒã®çš®é¡ãšã¢ã»ã³ããªãå ±åãããŸãã
TestRun.Current ãšèšç»ããããã¹ã
泚
MSTest 4.3.0 (è©Šéšæ®µé) ã§å°å ¥ãããŸããã
å®éšçš TestRun.Current API (RFC 014) ã¯ãèšç»ããããã¹ãã®ã»ãããå«ããçŸåšã®å®è¡ã«é¢ããæ
å ±ãå
¬éãããããæ¡åŒµæ©èœãšãã£ã¯ã¹ãã£ã¯ãå®è¡ãã¹ã±ãžã¥ãŒã«ãããŠããå
å®¹ãæ€æ»ã§ããŸãã
æ¢ç¥ã®å¶éäºé
NuGet ãæäŸãã MSBuild SDK (MSTest.Sdk ãå«ã) ã«ã¯ãããŒãžã§ã³ã®æŽæ°ã«é¢ããŠå¶éä»ãã®ããŒã« ãµããŒãããããŸããã€ãŸããNuGet ããã±ãŒãžã管çããããã®éåžžã® NuGet æŽæ°ãšVisual Studio UI ãæ³å®ã©ããã«åäœããŸããã
global.json ãã¡ã€ã«ãšproject ãã¡ã€ã«ã®ããŒãžã§ã³ãæåã§æŽæ°ããå¿
èŠããããŸãã (ããã¯ãdependabot-core#12824 ããã³ dependabot-core#8615 ãåå ã§ Dependabot ã䜿çšããå Žåã§ãé©çšãããŸã)ã