Skip to content

Latest commit

 

History

History
1784 lines (1267 loc) · 109 KB

Changelog.md

File metadata and controls

1784 lines (1267 loc) · 109 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog

See full log here

Fixed

  • Update dependencies from devdiv/DevDiv/vs-code-coverage by @dotnet-maestro in #3533

Artifacts

  • MSTest: 3.5.2
  • MSTest.TestFramework: 3.5.2
  • MSTest.TestAdapter: 3.5.2
  • MSTest.Analyzers: 3.5.2
  • MSTest.Sdk: 3.5.2
  • Microsoft.Testing.Extensions.CrashDump: 1.3.2
  • Microsoft.Testing.Extensions.HangDump: 1.3.2
  • Microsoft.Testing.Extensions.HotReload: 1.3.2
  • Microsoft.Testing.Extensions.Retry: 1.3.2
  • Microsoft.Testing.Extensions.TrxReport: 1.3.2

See full log here

Fixed

  • Fix XmlDataConnection by @Evangelink in #3346
  • Fix timeout message to reflect that 0 is not allowed by @Evangelink in #3279
  • Fix Fix TestInitialize and TestCleanup analyzers to allow generic classes by @Evangelink in #3280

Artifacts

  • MSTest: 3.5.1
  • MSTest.TestFramework: 3.5.1
  • MSTest.TestAdapter: 3.5.1
  • MSTest.Analyzers: 3.5.1
  • MSTest.Sdk: 3.5.1
  • Microsoft.Testing.Extensions.CrashDump: 1.3.2
  • Microsoft.Testing.Extensions.HangDump: 1.3.2
  • Microsoft.Testing.Extensions.HotReload: 1.3.2
  • Microsoft.Testing.Extensions.Retry: 1.3.2
  • Microsoft.Testing.Extensions.TrxReport: 1.3.2

See full log here

Added

  • Add overloads to CollectionAssert.AreEquivalent/AreNotEquivalent with IEqualityComparer<T> by @engyebrahim in #3130
  • Add code fix for MSTEST0017 by @engyebrahim in #3091
  • Add SDK samples from rel/3.4 by @nohwnd in #3074
  • Add suppressors for VSTHRD200 by @Evangelink in #2926
  • Add code fix for TestInitializeShouldBeValidAnalyzer by @Evangelink in #2890
  • Add code fix for ClassCleanupShouldBeValidAnalyzer by @Evangelink in #2883
  • Add code fix for AssemblyInitializeShouldBeValidAnalyzer by @Evangelink in #2882
  • Add code fix for ClassInitializeShouldBeValidAnalyzer by @Evangelink in #2884
  • Add code fixes for AssemblyCleanupShouldBeValidAnalyzer by @Evangelink in #2866
  • Add sample of MSTest runner for WinUI by @Evangelink in #2834
  • MSTEST0032: Always pass assertions by @engyebrahim in #3238
  • MSTEST0025: add support for Assert.IsNull by @engyebrahim in #3233
  • Update fixture analyzers to report on missing [TestClass] by @Evangelink in #3252
  • Customize MSTest runner banner by @Evangelink in #3235
  • Analyzer: Ensure to use Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute and not System.ComponentModel.DescriptionAttribute by @engyebrahim in #3202
  • MSTEST0030: Type containing [TestMethod] must be a [TestClass] by @engyebrahim in #3199
  • leverage DoesNotReturnIfAttribute for better assertion by @SimonCropp in #3168
  • Assertions: add support for [StringSyntax(CompositeFormat)] by @Evangelink in #3185
  • Display fixture (Assembly/Class Initialize/Cleanup) methods as "test" entries by @fhnaseer in #2904
  • Improve display name for string and char by @MichelZ in #3082
  • Improve display name when DataRow contains arrays by @MichelZ in #3053
  • TestCaseFilter with custom properties by @engyebrahim in #3015
  • MSTEST0029: Public methods should be test methods by @engyebrahim in #3065
  • Avoid conditionals inside assertions analyzer by @fhnaseer in #2848
  • Localize console service by @nohwnd in #2900
  • Code fix for TestCleanupShouldBeValidAnalyzer by @Evangelink in #2887
  • Run and fail tests when ITestDataSource.GetData returns empty IEnumerable by @fhnaseer in #2865
  • Include timeout duration in timeout message by @engyebrahim in #2877
  • Flow execution context across fixture methods when using timeout by @Evangelink in #2843
  • MSTest runner: allow overriding TestRunParameters by @Evangelink in #3106

Housekeeping

  • Fix some IDEXXX warnings by @Evangelink in #2844
  • fix install-windows-sdk path by @SimonCropp in #2930
  • Fix release years in changelog by @Evangelink in #3001
  • Fix some diagnostics happening only in VS by @Evangelink in #3016
  • Add acceptance tests for info with all extensions by @Evangelink in #3119
  • Refactor STA pool code by @MarcoRossignoli in #3231
  • Make IProcess disposable by @Evangekunj in #3120
  • Use GetTypes() instead of DefinedTypes by @SimonCropp in #3112
  • Use ConcurrentDictionary for attribute cache, and avoid func by @nohwnd in #3062
  • Lower reflection overhead by @nohwnd in #2839
  • avoid array alloc in CommandLineParseResult by using IReadOnlyList by @SimonCropp in #3027
  • remove set for toolname on CommandLineParseResult by @SimonCropp in #3028
  • remove redundant array alloc in CommandLineOptionsProviderCache by @SimonCropp in #3026
  • use some StringSyntax Xml by @SimonCropp in #2974
  • Use polyfill package by @Evangelink in #3014
  • Use concurrent dictionary for attribute cache by @nohwnd in #3061
  • MSTest.Sdk: do not use IsImplictlyDefined by @Evangelink in #2880

Fixed

  • Fix ResultFiles placement in TRX report by @nohwnd in #3264
  • Use short date for platform build date on banner by @Evangelink in #3249
  • Skipped tests count as not run by @Evangelink in #3243
  • Fix running parallelized tests in STA thread by @eengyebrahim in #3213
  • Fix Assert.AreEqual using null dynamic by @Evangelink in #3181
  • Fix test run footer color to be red when not successful by @Evangelink in #3180
  • Fix --info and --help when tools are registered by @Evangelink in #3123
  • Fix --info when tools are present by @Evangelink in #3118
  • Fix MSTEST0029 by @engyebrahim in #3090
  • Fix assembly resolution with DeploymentItem (#3034) by @XXX in #3036
  • Fix assembly resolution error by @XXX in #2948
  • Fix property name for enabling aspire in MSTest.Sdk by @XXX in #2888
  • Fix MSTEST0014 FP with arrays by @XXX in #2857
  • Workaround the UWP release mode issue with DataRow data by @XXX in #3240
  • Handle InvalidOperationException when accessing process ID by @XXX in #3250
  • MSTEST0004: Report only on non-abstract, non-static, classes by @XXX in #3230
  • Downgrade some log levels from info to debug by @Evangelink in #3206
  • Retrieve PID inside try/catch by @Evangelink in #3193
  • Shorten pipe names by @Evangelink in #3183
  • dispose of IProcess by @SimonCropp in #3141
  • ClassCleanup are not executed if testclass is ignored by @Evangelink in #3142
  • Ensure ValueTask test methods are awaited by @Evangelink in #3137
  • Print exceptions occurring during Task.WaitAll by @Evangelink in #3128
  • Discriminate MissingMethodException from hot reload by @Evangelink in #3098
  • Check that Reflect Helper caches inherited and non-inherited attributes separately by @nohwnd in #3117
  • Fixes displaying arity for many (N instead of int.Max) by @engyebrahim in #3115

New Contributors

  • @Mertsch made their first contribution in #3045
  • @MichelZ made their first contribution in #3053

Artifacts

  • MSTest: 3.5.0
  • MSTest.TestFramework: 3.5.0
  • MSTest.TestAdapter: 3.5.0
  • MSTest.Analyzers: 3.5.0
  • MSTest.Sdk: 3.5.0
  • Microsoft.Testing.Extensions.CrashDump: 1.3.1
  • Microsoft.Testing.Extensions.HangDump: 1.3.1
  • Microsoft.Testing.Extensions.HotReload: 1.3.0
  • Microsoft.Testing.Extensions.Retry: 1.3.0
  • Microsoft.Testing.Extensions.TrxReport: 1.3.1

See full log here

Fixed

  • Revert version of Code Coverage to 17.10.4 by @Evangelink in #3048

Artifacts

  • MSTest: 3.4.3
  • MSTest.TestFramework: 3.4.3
  • MSTest.TestAdapter: 3.4.3
  • MSTest.Analyzers: 3.4.3
  • MSTest.Sdk: 3.4.3
  • Microsoft.Testing.Extensions.CrashDump: 1.2.1
  • Microsoft.Testing.Extensions.HangDump: 1.2.1
  • Microsoft.Testing.Extensions.HotReload: 1.2.1
  • Microsoft.Testing.Extensions.Retry: 1.2.1
  • Microsoft.Testing.Extensions.TrxReport: 1.2.1

See full log here

Fixed

  • Use latest released version for Playwright and Aspire by @Evangelink in #3024
  • Fix project samples for 3.4 by @Evangelink in #3032
  • Fix assembly resolution with DeploymentItem by @Evangelink in #3034

Artifacts

  • MSTest: 3.4.2
  • MSTest.TestFramework: 3.4.2
  • MSTest.TestAdapter: 3.4.2
  • MSTest.Analyzers: 3.4.2
  • MSTest.Sdk: 3.4.2
  • Microsoft.Testing.Extensions.CrashDump: 1.2.1
  • Microsoft.Testing.Extensions.HangDump: 1.2.1
  • Microsoft.Testing.Extensions.HotReload: 1.2.1
  • Microsoft.Testing.Extensions.Retry: 1.2.1
  • Microsoft.Testing.Extensions.TrxReport: 1.2.1

See full log here

Fixed

  • Fix assembly resolution error by @Evangelink in #2948

Artifacts

  • MSTest: 3.4.1
  • MSTest.TestFramework: 3.4.1
  • MSTest.TestAdapter: 3.4.1
  • MSTest.Analyzers: 3.4.1
  • MSTest.Sdk: 3.4.1
  • Microsoft.Testing.Extensions.CrashDump: 1.2.1
  • Microsoft.Testing.Extensions.HangDump: 1.2.1
  • Microsoft.Testing.Extensions.HotReload: 1.2.1
  • Microsoft.Testing.Extensions.Retry: 1.2.1
  • Microsoft.Testing.Extensions.TrxReport: 1.2.1

See full log here

Added

  • MSTEST0017: Assertion arguments should be passed in the correct order by @Evangelink in #2556
  • Support "Central Package Management" with the MSTest.Sdk by @MarcoRossignoli in #2581
  • MSTEST0019: Prefer TestInitialize over ctor by @Evangelink in #2580
  • MSTEST0020: Prefer ctors over TestInitialize methods by @Evangelink in #2582
  • MSTEST0021: Prefer Dispose over TestCleanup methods by @Evangelink in #2585
  • MSTEST0022: Prefer 'TestCleanup' methods over Dispose by @Evangelink in #2586
  • MSTEST0023: Do not negate boolean assertions by @Evangelink in #2594
  • MSTEST0024: Do not store TestContext in static members by @Evangelink in #2597
  • Use System.Text.Json instead of Jsonite y @mariam-abdulla in #2564
  • Update MSTest.Sdk to handle playwright by @Evangelink in #2598
  • Add support for runner in WinUI mode by @Evangelink in #2617
  • Init and cleanup timeout by @engyebrahim in #2570
  • Add project samples for MSTest.Sdk by @Evangelink in #2675
  • Cache CommandLineOption from the providers by @MarcoRossignoli in #2680
  • Simplify Microsoft.Testing.Platform banner by @Evangelink in #2686
  • Add support for STA thread by @Evangelink in #2682
  • Improve error message when dynamic data source layout is invalid by @Evangelink in #2690
  • Add global using feature in MSTest.Sdk by @Varorbc in #2701
  • Added AssertInstanceOf overloads with out parameter by @Mrxx99 in #2717
  • Improve error message for mismatched data driven test by @Evangelink in #2691
  • SDK: add playwright default using by @Evangelink in #2730
  • SDK: add global usings to VSTest targets by @Evangelink in #2731
  • MSTest.Sdk: add support for Aspire by @Evangelink in #2758
  • Ensure that fixtures also support sta threading by @Evangelink in #2769
  • Add option to consider empty data of DynamicData as inconclusive by @engyebrahim in #2771
  • Add PreferAssertFailOverAlwaysFalseConditionsAnalyzer by @Youssef1313 in #2799

Fixed

  • Get real exception in case of error in AssemblyInitialize by @nohwnd in #2571
  • Fix MSTEST0014 to handle optional parameters by @Evangelink in #2574
  • Get real exception for AssemblyCleanup/ClassInitialize/ClassCleanup by @Evangelink in #2576
  • Fix MSTEST0014 problems with arrays by @Evangelink in #2607
  • Fix MSTest version under testing platform by @Evangelink in #2629
  • Fix MSTEST0005 to report only inside test classes by @Evangelink in #2641
  • Fix TestHostControllersTestHost startup by @MarcoRossignoli in #2659
  • Fix ITestHostEnvironmentVariableProvider tests by @MarcoRossignoli in #2660
  • Simplify added logic for AssemblyResolution in netcore by @Evangelink in #2654
  • add Tests for --list-tests does not work with --filter by @engyebrahim in #2699
  • Fix false positive in TestClassShouldHaveTestMethodAnalyzer (MSTEST0016) for derived class by @engyebrahim in #2715
  • Fix ThreadOperations to handle TaskCanceledException by @Evangelink in #2722
  • Update PackageReferences to be properly defined by @dansiegel in #2727
  • Tests for --info shows incorrect version for MSTest by @engyebrahim in #2745
  • Fix typo by @thomhurst in #2749
  • Fix localappdata folder for Linux and Mac by @Evangelink in #2765
  • Fix deserializers for DiscoveryRequestArgs and RunRequestArgs by @mariam-abdulla in #2768
  • Don't start thread/task when not using timeout for fixture methods by @Evangelink in #2825
  • Fix parameters/arguments check for data driven tests by @nohwnd in #2829
  • Cleaning command line validations and adding unit tests by @fhnaseer in #2847
  • Fix MSTEST0014 FP with arrays by @Evangelink in #2857
  • Flow execution context across fixture methods when using timeout by @Evangelink #2843

Housekeeping

  • Use dotnet-public instead of nuget feed for samples by @Evangelink in #2623
  • Update NativeAOT runner example by @nohwnd in #2634
  • Use Platform.MSBuild to setup nativeAot example by @nohwnd in #2645
  • Remove IsPackable from the DemoMSTestSdk by @Varorbc in #2696
  • allow rollForward of sdk to latestFeature by @SimonCropp in #2714
  • Onboard Central Package Management by @Evangelink in #2728
  • Add dependabot by @Evangelink in #2737
  • perf: reduce allocations and calls to ToArray by @Evangelink in #2747
  • Add test for resource recursion problem by @nohwnd in #2778
  • Opt-out from CPM in samples by @Evangelink in #2805

New Contributors

  • @mariam-abdulla made their first contribution in #2564
  • @Varorbc made their first contribution in #2696
  • @skanda890 made their first contribution in #2706
  • @SimonCropp made their first contribution in #2714
  • @Mrxx99 made their first contribution in #2717
  • @dansiegel made their first contribution in #2727
  • @thomhurst made their first contribution in #2749
  • @Youssef1313 made their first contribution in #2799

Artifacts

  • MSTest: 3.4.0
  • MSTest.TestFramework: 3.4.0
  • MSTest.TestAdapter: 3.4.0
  • MSTest.Analyzers: 3.4.0
  • MSTest.Sdk: 3.4.0
  • Microsoft.Testing.Extensions.CrashDump: 1.2.1
  • Microsoft.Testing.Extensions.HangDump: 1.2.1
  • Microsoft.Testing.Extensions.HotReload: 1.2.1
  • Microsoft.Testing.Extensions.Retry: 1.2.1
  • Microsoft.Testing.Extensions.TrxReport: 1.2.1

See full log here

Fixed

  • Fix MSTest.SDK deps by @MarcoRossignoli in #2650

Artifacts

  • MSTest: 3.3.1
  • MSTest.TestFramework: 3.3.1
  • MSTest.TestAdapter: 3.3.1
  • MSTest.Analyzers: 3.3.1
  • MSTest.Sdk: 3.3.1
  • Microsoft.Testing.Extensions.CrashDump: 1.1.0
  • Microsoft.Testing.Extensions.HangDump: 1.1.0
  • Microsoft.Testing.Extensions.HotReload: 1.1.0
  • Microsoft.Testing.Extensions.Retry: 1.1.0
  • Microsoft.Testing.Extensions.TrxReport: 1.1.0

See full log here

Added

  • MSTEST0007: [<\Test Attributes>] can only be set on methods marked with [TestMethod] by @cvpoienaru in #2221
  • MSTEST0008: [TestInitialize] should be valid by @engyebrahim in #2292
  • MSTEST0009: [TestCleanup] should have valid layout by @cvpoienaru in #2312
  • MSTEST0010: [ClassInitialize] should be valid by @engyebrahim in #2354
  • MSTEST0011: [ClassCleanup] should be valid by @engyebrahim in #2356
  • MSTEST0012: [AssemblyInitialize] should be valid by @engyebrahim in #2328
  • MSTEST0013: [AssemblyCleanup] should be valid by @engyebrahim in #2353
  • MSTEST0014: [DataRow] should be valid by @cvpoienaru in #2352
  • MSTEST0015: Test method should not be ignored by @engyebrahim in #2429
  • MSTEST0016: Test class should have test method by @engyebrahim in #2518
  • Add support for ValueTask return type by @Evangelink in #2208
  • Allow IEnumerable of tuple for DynamicData source by @Evangelink in #2226
  • Add a console logger sample for the runner by @Evangelink in #2246
  • Create preview.md by @nohwnd in #2268
  • Use Task.Run for Assembly/Class init to allow exiting by @Evangelink in #2265
  • Document logging public APIs by @Evangelink in #2290
  • Document test framework public APIs by @Evangelink in #2286
  • Document messages public APIs by @Evangelink in #2287
  • Document command line public APIs by @Evangelink in #2285
  • Document requests public APIs by @Evangelink in #2289
  • Document builder public API by @Evangelink in #2283
  • Document configuration public APIs by @Evangelink in #2291
  • Document testhost related public APIs by @Evangelink in #2284
  • Document extensions/services public APIs by @Evangelink in #2288
  • Document messages public api by @MarcoRossignoli in #2357
  • Complete public api docs by @MarcoRossignoli in #2359
  • Assert.AreEqual allow IEquatable<\T> for actual and expected by @Evangelink in #2381
  • Introduce --exit-on-process-exit by @MarcoRossignoli in #2434
  • Add example for simple framework without VSTest bridge by @nohwnd in #2446
  • Add graph query filtering doc draft by @MarcoRossignoli in #2460

Fixed

  • MSTEST0002: fix false-positive with static TestClass by @Evangelink in #2182
  • Fix code samples by @Evangelink in #2217
  • Fix setup of MSBuild Reference item entry by @Evangelink in #2220
  • Fix support of WinUI for net6+ by @Evangelink in #2222
  • Fix MSTEST0002 - Generic TestClass is valid by @Evangelink in #2428
  • Fix MSTEST0005 to report only inside test classes by @Evangelink in #2642
  • Preserve real exception and fix tests by @MarcoRossignoli in #2272
  • Shorten server pipe name by @MarcoRossignoli in #2302
  • Fix TestMethod should be valid analyzer description by @engyebrahim in #2295
  • Fix command line banner output by @MarcoRossignoli in #2314
  • Workaround harmless MSBuild warning in VS by @Evangelink in #2349
  • Fix analyzers doc link by @Evangelink in #2361
  • Remove the TestingPlatformServer if the runner is disabled by @MarcoRossignoli in #2409
  • Honor request.Complete() by @MarcoRossignoli in #2448
  • Make RootDeploymentDirectory name unique by @MarcoRossignoli in #2456

Housekeeping

  • Reduce calls to GetTypeInfo() by @Evangelink in #2426
  • Improve warning message for generic non-abstract test classes by @Evangelink in #2427
  • Remove the Microsoft.Testing.Extensions.Telemetry from the package by @MarcoRossignoli in #2454

Artifacts

  • MSTest: 3.3.0
  • MSTest.TestFramework: 3.3.0
  • MSTest.TestAdapter: 3.3.0
  • MSTest.Analyzers: 3.3.0
  • Microsoft.Testing.Extensions.CrashDump: 1.1.0
  • Microsoft.Testing.Extensions.HangDump: 1.1.0
  • Microsoft.Testing.Extensions.HotReload: 1.1.0
  • Microsoft.Testing.Extensions.Retry: 1.1.0
  • Microsoft.Testing.Extensions.TrxReport: 1.1.0

See full log here

Fixed

  • [rel/3.2] Workaround harmless MSBuild warning in VS by @Evangelink in #2350
  • [rel/3.2] Fix analyzers doc link by @Evangelink in #2362
  • Assert.AreEqual allow IEquatable<T> for actual and expected by @Evangelink in #2382
  • Fix msbuild integration (#2389) by @MarcoRossignoli in #2395
  • Remove the TestingPlatformServer if the runner is disabled (#2409) by @MarcoRossignoli in #2410

Artifacts

  • MSTest: 3.2.2
  • MSTest.TestFramework: 3.2.2
  • MSTest.TestAdapter: 3.2.2
  • MSTest.Analyzers: 3.2.2
  • Microsoft.Testing.Extensions.CrashDump: 1.0.2
  • Microsoft.Testing.Extensions.HangDump: 1.0.2
  • Microsoft.Testing.Extensions.HotReload: 1.0.2
  • Microsoft.Testing.Extensions.Retry: 1.0.2
  • Microsoft.Testing.Extensions.TrxReport: 1.0.2

See full log here

Fixed

  • MSTEST0002: fix false-positive with static TestClass (#2182) by @Evangelink in #2199
  • Bump version of coverage and platform by @Evangelink in #2280
  • [rel/3.2] Update dependencies from devdiv/DevDiv/vs-code-coverage by @dotnet-maestro in #2315
  • Fix command line output validation (#2314) by @MarcoRossignoli in #2317
  • [rel/3.2] Update dependencies from microsoft/testanywhere by @dotnet-maestro in #2320
  • [rel/3.2] Update dependencies from microsoft/testanywhere by @dotnet-maestro in #2326

Housekeeping

  • Remove unused localization entries by @Evangelink in #2192
  • Remove version fixup workaround (#2209) by @Evangelink in #2212

Artifacts

  • MSTest: 3.2.1
  • MSTest.TestFramework: 3.2.1
  • MSTest.TestAdapter: 3.2.1
  • MSTest.Analyzers: 3.2.1
  • Microsoft.Testing.Extensions.CrashDump: 1.0.1
  • Microsoft.Testing.Extensions.HangDump: 1.0.1
  • Microsoft.Testing.Extensions.HotReload: 1.0.1
  • Microsoft.Testing.Extensions.Retry: 1.0.1
  • Microsoft.Testing.Extensions.TrxReport: 1.0.1

See full log here

Added

  • MSTest runner by @Evangelink in #1775
  • Add analyzers by @Evangelink in #1870
  • Add more analyzers by @Evangelink in #1974
  • Rework MSTEST0002 and MSTEST0003 by @Evangelink in #1985
  • Update description of MSTEST0001 by @Evangelink in #1988
  • MSTEST0004: Public types should be test classes by @Evangelink in #1989
  • Add readme to MSTest.Analyzer package by @Evangelink in #2006
  • Add --ignore-exit-code and TESTINGPLATFORM_EXITCODE_IGNORE by @MarcoRossignoli in #2057
  • Add samples of runner vs dotnet test by @Evangelink in #2063
  • Add mstest runner samples by @nohwnd in #2068
  • Add comparison stats by @MarcoRossignoli in #2069
  • Performance measurements by @jakubch1 in #2071
  • Add protocol documentation by @drognanar in #2073
  • Cache platform command line options by @MarcoRossignoli in #2127

Fixed

  • Don't stop by @nohwnd in #1737
  • Fix DataRowAttribute to be cls compliant by @Evangelink in #1878
  • Workaround issue with managed type name utility by @Evangelink in #1876
  • Fix path normalization by @Evangelink in #1880
  • MSTEST0005: TestContext should be valid by @Evangelink in #2019
  • MSTEST0006: Avoid '[ExpectedException]' by @Evangelink in #2025
  • Hide MissingMethodException when in hot reload mode by @Evangelink in #2028
  • Fix running tests with UWP by @Evangelink in #2047
  • Fix rules help link URL by @Evangelink in #2048
  • Fix short link to telemetry doc by @Evangelink in #2064
  • Avoid some allocations by @MarcoRossignoli in #2079
  • MSTEST0001: Set default severity to Info by @Evangelink in #2077
  • Remove IEnumerable extensions by @MarcoRossignoli in #2090
  • Simplify substring by @Evangelink in #2092
  • Fix mstest runner namespace by @Evangelink in #2078
  • Cleanup ICommandLineOptionsProvider api by @MarcoRossignoli in #2093
  • Update ToHumanReadableDuration by @MarcoRossignoli in #2094
  • [bug] Do not wait timeout duration in case of user cancellation by @Evangelink in #2104
  • TrimStackTrace should handle empty stacktrace by @Evangelink in #2113
  • Update Public API by @Evangelink in #2116
  • Fix issue #2121 DataTestMethodAttribute is missing a constructor by @HannoZ in #2125

Chores

  • Bump and cleanup global versions by @Evangelink in #1754
  • Eng and global.json housekeeping by @Evangelink in #1756
  • Code clean-up by @ViktorHofer in #1757
  • Bump StyleCop analyzers version by @Evangelink in #1761
  • Bump version of test dependencies by @Evangelink in #1762
  • Bump VSTest deps to 17.7.2 by @Evangelink in #1769
  • Pin Moq to 4.18.4 for security by @Evangelink in #1770
  • Clean nuget.config by @Evangelink in #1772
  • Fix warnings and cleanup infra by @Evangelink in #1773
  • Drop ruleset in favor of editorconfig by @Evangelink in #1780
  • Enable CA1001 by @Evangelink in #1811
  • Set analysis level to latest-recommended by @Evangelink in #1816
  • Use modern styles and rules by @Evangelink in #1852
  • Add third-parties licenses by @Evangelink in #1955

New Contributors

  • @ViktorHofer made their first contribution in #1757
  • @jakubch1 made their first contribution in #2071
  • @drognanar made their first contribution in #2073
  • @HannoZ made their first contribution in #2125

Artifacts

  • MSTest: 3.2.0
  • MSTest.TestFramework: 3.2.0
  • MSTest.TestAdapter: 3.2.0
  • MSTest.Analyzers: 3.2.0
  • Microsoft.Testing.Extensions.CrashDump: 1.0.0
  • Microsoft.Testing.Extensions.HangDump: 1.0.0
  • Microsoft.Testing.Extensions.HotReload: 1.0.0
  • Microsoft.Testing.Extensions.Retry: 1.0.0
  • Microsoft.Testing.Extensions.TrxReport: 1.0.0

See full log here

Added

  • Add readme to MSTest.Analyzer package by @Evangelink in #2006
  • Add --ignore-exit-code and TESTINGPLATFORM_EXITCODE_IGNORE by @MarcoRossignoli in #2057
  • Add samples of runner vs dotnet test by @Evangelink in #2063
  • Add mstest runner samples by @nohwnd in #2068
  • Add comparison stats by @MarcoRossignoli in #2069
  • Performance measurements by @jakubch1 in #2071
  • Add protocol documentation by @drognanar in #2073
  • Cache platform command line options by @MarcoRossignoli in #2127

Fixed

  • MSTEST0005: TestContext should be valid by @Evangelink in #2019
  • MSTEST0006: Avoid '[ExpectedException]' by @Evangelink in #2025
  • Hide MissingMethodException when in hot reload mode by @Evangelink in #2028
  • Fix running tests with UWP by @Evangelink in #2047
  • Fix rules help link URL by @Evangelink in #2048
  • Fix short link to telemetry doc by @Evangelink in #2064
  • Avoid some allocations by @MarcoRossignoli in #2079
  • MSTEST0001: Set default severity to Info by @Evangelink in #2077
  • Remove IEnumerable extensions by @MarcoRossignoli in #2090
  • Simplify substring by @Evangelink in #2092
  • Fix mstest runner namespace by @Evangelink in #2078
  • Cleanup ICommandLineOptionsProvider api by @MarcoRossignoli in #2093
  • Update ToHumanReadableDuration by @MarcoRossignoli in #2094
  • [bug] Do not wait timeout duration in case of user cancellation by @Evangelink in #2104
  • TrimStackTrace should handle empty stacktrace by @Evangelink in #2113
  • Update Public API by @Evangelink in #2116
  • Fix issue #2121 DataTestMethodAttribute is missing a constructor by @HannoZ in #2125

New Contributors

  • @jakubch1 made their first contribution in #2071
  • @drognanar made their first contribution in #2073
  • @HannoZ made their first contribution in #2125

Artifacts

See full log here

Fixed

  • Add auto-generated header to generated entry point (through upgrade of Microsoft.Testing.Platform.MSBuild to 1.0.0-preview.23622.9)

Artifacts

See full log here

Added

  • MSTest runner by @Evangelink in #1775
  • Add analyzers by @Evangelink in #1870
  • Add more analyzers by @Evangelink in #1974
  • Rework MSTEST0002 and MSTEST0003 by @Evangelink in #1985
  • Update description of MSTEST0001 by @Evangelink in #1988
  • MSTEST0004: Public types should be test classes by @Evangelink in #1989

Fixed

  • Don't stop by @nohwnd in #1737
  • Fix DataRowAttribute to be cls compliant by @Evangelink in #1878
  • Workaround issue with managed type name utility by @Evangelink in #1876
  • Fix path normalization by @Evangelink in #1880

Chores

  • Bump and cleanup global versions by @Evangelink in #1754
  • Eng and global.json housekeeping by @Evangelink in #1756
  • Code clean-up by @ViktorHofer in #1757
  • Bump StyleCop analyzers version by @Evangelink in #1761
  • Bump version of test dependencies by @Evangelink in #1762
  • Bump VSTest deps to 17.7.2 by @Evangelink in #1769
  • Pin Moq to 4.18.4 for security by @Evangelink in #1770
  • Clean nuget.config by @Evangelink in #1772
  • Fix warnings and cleanup infra by @Evangelink in #1773
  • Drop ruleset in favor of editorconfig by @Evangelink in #1780
  • Enable CA1001 by @Evangelink in #1811
  • Set analysis level to latest-recommended by @Evangelink in #1816
  • Use modern styles and rules by @Evangelink in #1852
  • Add third-parties licenses by @Evangelink in #1955

New Contributors

  • @ViktorHofer made their first contribution in #1757

Artifacts

Fixed

  • Artifact 3.1.0 was corrupted during pipeline and for security reasons we cannot regenerate it.

See full log here

Artifacts

See full log here

Added

  • Add AsyncLocal warning #1710
  • Adding warning that AssemblyResolution works only with .NET Frameworks #1669
  • Onboarding to GitOps.ResourceManagement #1688
  • Document data source configuration #1595
  • Enable TestContext.AddResultFile API for WinUI #1593
  • Add documentation for [DeploymentItem] attribute #1581
  • Docs: add links to MS learning docs #1577
  • Document LegacySettings- support as discontinued delta from MSTestV1 #1571
  • Add link to MSTest element settings in the Documentation page #1552
  • Add TreatDiscoveryWarningsAsErrors setting #1547

Changed

  • Rename Helper.cs into Guard.cs
  • Update Changelog.md
  • Bump TestPlatform to 17.6.0 #1666

Fixed

  • Avoid crash when method is not found using FQN #1714
  • Prevent swallowing inner exception in async error #1712
  • DeploymentItem: add test for file deployment using Windows/Linux path #1710
  • Fix parallel output isolation #1705
  • Fix DeploymentItem to support trailing directory separator #1703
  • Fix Logger.LogMessage to not call string.Format when no arguments are provided #1702
  • Update AreEqual/AreNotEqual XML documentation #1563

New Contributors

  • @unsegnor made their first contribution in #1104
  • @JasonMurrayCole made their first contribution in #1119
  • @engyebrahim made their first contribution in #1172
  • @johnthcall made their first contribution in #1547

Artifacts

See full log here

Fixed

  • Fix out of range exception in deployment tool #1682
  • Fix issue/crash with deployment items and disabled app domains #1681

Artifacts

See full log here

Changed

  • Use Test Platform 17.4.1 instead of 17.4.0

Fixed

  • Revert change for timeout test execution #1675
  • Fix assembly resolution error #1670
  • Revert usage of System.Collections.Immutable for TypeCache
  • Remove DataRowAttribute argument count limitation #1646

Artifacts

See full log here

Fixed

  • Fix issue cannot load Microsoft.TestPlatform.CoreUtilities #1502

Artifacts

See full log here

Fixed

  • Fix some race condition issue #1477
  • Fix cleanup inheritance calls #1475
  • Fix class/assembly cleanups log collect and attachment #1470
  • Allow most APIs to accept nullable values or arguments #1467
  • Add console, trace and debug writeline calls to the lifecycle integration tests #1464
  • Revert Framework.Extension project to be CLSCompliant #1450
  • Fix regressions with DataRow supported arguments #1446
  • Add parent domain assembly resolver for netfx #1443
  • Remove unneeded dash in InformationalVersion for RTM builds
  • Add NotNullAttribute postcondition to Assert APIs #1441

Artifacts

See full log here

Breaking changes announcements #1274

Added

  • Assert.AreEqual/AreNotEqual overloads with IEquatable #1433
  • Add DoesNotReturn attribute for Assert.Inconclusive methods #1422
  • Allow to override GetDisplayName method from DataRowAttribute #1413
  • Add computer name on the test result #1409
  • Add public api analyzers #1318
  • Enable nullable for TestAdapter project #1370
  • Enable nullable for Platform Services #1366
  • Enable nullables for Framework #1365
  • Enable nullable for TestFramework.Extensions #1363
  • [breaking change] Introduce strategies for test ID generation #1306
  • Add support for AsyncDisposable cleanup #1288
  • Add Assert.IsInstanceOfType<T> #1241

Changed

  • [breaking change] Follow supported .NET frameworks:
    • Dropped support for .NET Framework before 4.6.2 (net462)
    • Dropped support for .NET Standard before 2.0 (netstandard2.0)
    • Dropped support for UWP before 16299
    • Dropped support for WinUI before 18362
    • Replaced support of .NET 5 by .NETCore 3.1 and .NET 6.0
  • [breaking change] Assert.AreSame/AreNotSame use generic instead of object #1430
  • Make BeginTimer and EndTimer methods obsolete #1425
  • [breaking change] Unify DeploymentDirectory location across target frameworks #1414
  • [breaking change] Add class/assembly cleanup/init messages to first/last test #1390
  • Document that DeploymentItemAttribute only works for a test class with test method #1399
  • Use NewtonsoftJson v13.0.1 #1361
  • [breaking change] Merge timeout behaviors for .NET Core and .NET Framework #1296
  • Mark exceptions with SerializableAttribute #1186

Removed

  • [breaking change] Remove Assert.AreEqual/AreNotEqual overloads with object object #1429

Fixed

  • Propagate UI culture to appdomain #1401
  • Include localization in Test Framework NuGet #1397
  • [breaking change] Refactor available ctors for DataRowAttribute #1332
  • Fix issue causing null ref when test class has no namespace #1283
  • [breaking change] Unwrap real exception from TargetInvocationException #1254
  • Fixed the case ignoring in AreEqual() with culture parameter #1216

Artifacts

See full log here

Added

  • Enable proper tooling for localization #1393
  • Include localization in Test Framework NuGet #1397
  • Propagate UI culture to appdomain #1401

Changed

  • Visual Studio grouping tests by Traits rendering has changed. To keep something similar to the past, you will have to use group by Traits + Class. #1634
  • Disable again the generation of localization files
  • Cleanup TestFx.Loc.props
  • Update xlf files #1387
  • Reformat scripts
  • Re-enable localization of dlls in CI #1386
  • Move platformservices localization files to the right folder #1384
  • Reformat and simplify build.ps1
  • Replace other instances of Env.CurrentDir with Assembly.GetExecutingA… #1380
  • Update testfx repo detection mechanism #1378
  • Rename folder containing localization dlls in MSTest.TestAdapter NuGet package #1398

Fixed

  • Fix TestContext nullabilities #1382
  • Fix ThrowsException methods return nullability #1381
  • Fix all markdown issues in releases.md
  • Fix some failing debug assertions #1379
  • DeploymentItemAttribute only works for a test class with test method #1399

Removed

  • Remove unused build switch
  • Remove DependsOnTargets="TestFxLocalization" for signing
  • Remove stale xlf.lcl files

Artifacts

See full log here

Added

  • Enable and fix CA1806 violations #1227
  • Enable and fix CA1822 (make member static) violations #1226
  • Enable and fix performance analyzers #1223
  • Id generator logic restored. #1174
  • Enable nullable for TestAdapter project #1370
  • Enable nullable for Platform Services #1366
  • Enable nullables for Framework #1365
  • Enable nullable for TestFramework.Extensions #1363
  • Add tests to document test suite messages #1313
  • Add support for AsyncDisposable cleanup #1288
  • Added version parameter to build script #1264
  • Add WinUI tests to PlatformServices #1234
  • Add net6.0 tests for PlatformServices #1233
  • Add Assert.IsInstanceOfType<T> #1241
  • Add some simple test framwork to allow testing MSTest #1242
  • Merge testfx-docs repo here and update links #1326
  • Install required .NET before build instead of before test #1290
  • Allow mirroring. BYPASS_SECRET_SCANNING
  • List files in case Pdb2Pdb.exe is not found
  • List files in case Pdb2Pdb.exe is not found
  • Align MicrosoftDiaSymReaderPdb2PdbVersion with arcade one
  • Use Foreach-Object to display contents
  • Define and apply field naming conventions #1198

Changed

  • Improve release notes generator #1374
  • Bump version to v3.0.0 #1373
  • Sort lines in public API files
  • Refactor reflection helper to return strongly typed attributes #1369
  • Use NewtonsoftJson v13.0.1 #1361
  • Refactor integration tests to use FluentAssertions #1349
  • Revert temporary hack related to .net 6.0.10 #1346
  • Naming and using cleanup #1347
  • Update links to official MSTest documentation
  • Revisit RFCs #1342
  • Refactor available ctors for DataRowAttribute #1332
  • Refactor solution items to add UnitTests folder
  • Update prerequisites section
  • Bring back stylecop analyzers #1314
  • Update version of Microsoft.CodeAnalysis.PublicApiAnalyzers
  • Update GitHub issues and PR templates #1315
  • Update Install-DotNetCli end to use similar wording as other steps
  • Update PlatformServices.Desktop.Component.Tests to use new test fwk #1252
  • Update comment about assembly version in TestFx.targets
  • Update azure-pipelines.yml
  • Update azure-pipelines.yml
  • Various styling refactoring #1334
  • Merge extension projects into one #1202
  • Merge various PlatformServices.XXX.UnitTests projects together #1232
  • Merge interfaces into PlatformServices #1293
  • Merge all implementations of TestContext #1302
  • Merge timeout behaviors for .NET Core and .NET Framework #1296
  • Merge TFM specific classes together #1209
  • Merge TFM specific PlatformServices into a single PlatformServices #1208
  • Try to simplify automation.cli and support of different TFMs #1312
  • Don't exclude TestAssets from source control #1298
  • Rename projects to better match assembly #1291
  • Convert PlatformServices tests to use new test framework #1249
  • Convert test.core.unit.tests to use local test framework #1259
  • Convert smoke.e2e.tests and DiscoveryAndExecutionTests to use local test framework #1261
  • Ensure we run core tests for all supported TFMs #1268
  • Ensure we run adapter tests for all supported TFMs #1267
  • Cleanup solution and test projects #1282
  • Cleanup on MSTest.CoreAdapter.UnitTests #1257
  • Unwrap real exception from TargetInvocationException #1254
  • Convert MSTest.CoreAdapter.Unit.Tests to use new test framework #1245
  • Revert CallerArgumentExpression attribute changes #1251
  • Do not fail generate release task notes when skipping
  • Display full packages folder
  • Discard auto PRs in write-release-notes.ps1 #1173
  • Split Assert class per group of feature #1238
  • Improve assembly versions and available metadata #1231
  • More project/files simplification for PlatformServices #1221
  • Projects cleanup #1219
  • Factorize out some project properties #1217
  • Find TP package version using Versions.props #1211
  • Simplify Link references in csproj
  • Review compiler directives #1203
  • Ignore commit 4bb533 from revision logs
  • Use newer C# syntaxes #1200
  • Ignore commit "Define and apply field naming conventions"
  • Ignore convert to file-scoped namespace revision
  • Convert to file-scoped namespaces #1197
  • Target .NET 6 instead of .NET 5 #1196
  • Prefer specific tfm over generic ones #1192
  • Simplify projects dependencies and files #1193
  • Target netstandard2.0 as minimal netstandard #1194
  • Simplify UWP projects #1191
  • Make private fields readonly when possible #1188
  • Favor inline initialization over static ctor #1189
  • Mark exceptions with SerializableAttribute #1186
  • Apply modern C# features/syntaxes #1183
  • Rename MSTest.CoreAdapter into MSTest.TestAdapter #1181
  • Move test projects to SDK style #1179

Fixed

  • Fix broken tests and refactor test API #1352
  • Fix issue causing null ref when test class has no namespace #1283
  • Fix localization path
  • Fix .gitignore
  • Fix included package #1280
  • Fix common.lib.ps1 to download latest patched SDKs #1279
  • Fix included package #1280
  • Fix common.lib.ps1 to download latest patched SDKs #1279
  • Fix broken unit tests
  • Fix testasset of ComponentTests
  • Fix some typos in test names
  • Fix some typos
  • Fix NuGet packages content + support netcoreapp3.1 #1228
  • Fix broken tests on main #1265
  • Fixed the case ignoring in AreEqual() with culture parameter #1216
  • Fix behavior for netcore TFMs #1230
  • Fixed package restore.

Removed

  • Remove class/assembly initialization messages from logs. #1339
  • Remove unexpected dll in target #1308

Artifacts

A list of changes since last release are available here

Added

Changed

Fixed

Removed

Artifacts

A list of changes since last release are available here

Added

Changed

Fixed

Artifacts

Fixed

Artifacts

A list of changes since last release are available here

Parallel output

🙇 Shout out to @SimonCropp, for bringing this functionality to XUnit in his https://github.com/SimonCropp/XunitContext project. And being an inspiration for implementing this.

MSTest 2.2.9 captures all Console output and attaches it to the correct test, even if you are running tests in parallel. This output is captured from your test code as well as from the tested code. And it requires no special setup.

Before

In 2.2.8, test output is scattered among tests, in our example, one unlucky test gets all the output of other tests just mixed together:

image

After

With 2.2.9, each output is correctly attached to the test that produced it:

image image

Also notice that we are also capturing debug, trace and error. And we are not awaiting the FastChild method, and the output is still assigned correctly. Souce code.

Limitations

Due to the way that class and assembly initialize, and cleanup are invoked, their output will end up in the first test that run (or last for cleanup). This is unfortunately not easily fixable.

Artifacts

  • MSTest.TestFramework: 2.2.9
  • MSTest.TestAdapter: 2.2.9

A list of changes since last release are available here

Added

Changed

Fixed

Artifacts

  • MSTest.TestFramework: 2.2.8
  • MSTest.TestAdapter: 2.2.8

A list of changes since last release are available here

Changed

Fixed

Artifacts

  • MSTest.TestFramework: 2.2.7
  • MSTest.TestAdapter: 2.2.7

A list of changes since last release are available here

Changed

Fixed

Artifacts

  • MSTest.TestFramework: 2.2.6
  • MSTest.TestAdapter: 2.2.6

A list of changes since last release are available here

Added

Changed

Fixed

Artifacts

  • MSTest.TestFramework: 2.2.5
  • MSTest.TestAdapter: 2.2.5

A list of changes since last release are available here

Artifacts

  • MSTest.TestFramework: 2.2.4
  • MSTest.TestAdapter: 2.2.4

A list of changes since last release are available here

Added

Changed

Fixed

Artifacts

A list of changes since last release are available here

Added

Artifacts

  • MSTest.TestFramework: 2.2.3
  • MSTest.TestAdapter: 2.2.3

A list of changes since last release are available here

Added

Fixed

Artifacts

  • MSTest.TestFramework: 2.2.2
  • MSTest.TestAdapter: 2.2.2

A list of changes since last release are available here

Added

Changed

Fixed

Removed

Artifacts

  • MSTest.TestFramework: 2.2.1
  • MSTest.TestAdapter: 2.2.1

A list of changes since last release are available here

Changed

Fixed

Removed

Artifacts

A list of changes since last release are available here

Added

Changed

Fixed

Removed

Artifacts

A list of changes since last release are available here

Changed

Fixed

Artifacts

  • MSTest.TestFramework: 2.1.2
  • MSTest.TestAdapter: 2.1.2

A list of changes since last release are available here

Added

Changed

Fixed

Removed

Artifacts

  • MSTest.TestFramework: 2.1.1
  • MSTest.TestAdapter: 2.1.1

A list of changes since last release are available here

Changed

Fixed

Artifacts

  • MSTest.TestFramework: 2.1.0
  • MSTest.TestAdapter: 2.1.0

A list of changes since last release are available here

Changed

Artifacts

A list of changes since last release are available here

Fixed

Artifacts

A list of changes since last release are available here

Added

Changed

Fixed

Artifacts

  • MSTest.TestFramework: 2.0.0
  • MSTest.TestAdapter: 2.0.0

A list of changes since last release are available here

Changed

Artifacts

A list of changes since last release are available here

Changed

Artifacts

A list of changes since last release are available here

Added

Changed

Removed

Artifacts

  • MSTest.TestFramework: 1.4.0
  • MSTest.TestAdapter: 1.4.0

A list of changes since last release are available here

Added

Changed

Artifacts

A list of changes since last release are available here

Changed

Artifacts

  • MSTest.TestFramework: 1.3.2
  • MSTest.TestAdapter: 1.3.2

A list of changes since last release are available here

Changed

Artifacts

  • MSTest.TestFramework: 1.3.1
  • MSTest.TestAdapter: 1.3.1

A list of changes since last release are available here

Changed

Fixed

Artifacts

  • MSTest.TestFramework: 1.3.0
  • MSTest.TestAdapter: 1.3.0

A list of changes since last release are available here

Added

Changed

Fixed

Artifacts

Changed

Removed

Artifacts

  • MSTest.TestFramework: 1.2.1
  • MSTest.TestAdapter: 1.2.1

A list of changes since last release are available here

Added

Changed

Artifacts

  • MSTest.TestFramework: 1.2.0
  • MSTest.TestAdapter: 1.2.0

A list of changes since last release are available here

Added

Changed

Artifacts

A list of changes since last release are available here

Changed

Artifacts

A list of changes since last release are available here

Changed

Artifacts

A list of changes since last release are available here

Changed

Artifacts

A list of changes since last release are available here

Changed

Fixed

Artifacts

This is also the first release from GitHub and with source code building against Dev15 tooling.

Changed

Artifacts

Initial release.

Artifacts