Description
Description
As part of supporting new TestCase properties like ManagedType
and ManagedClass
, some changes introduced to Microsoft.TestPlatform.ObjectModel
. (#2611) These changes broke the compatibility of the Test Platform with earlier Visual Studio releases.
We need to move new TestCase properties, Managed Name Utilities, Modern Test Id generation logic to a separate assembly and ultimately into a new NuGet package, preferably without any dependencies into the Test Platform itself.
We need to consider supporting the source-based test discovery support extension and providing support in a second new NuGet package since it depends on Roslyn.
This change should fix microsoft/testfx#748.
Steps
- Move the
Microsoft.TestPlatform.ObjectModel/ManagedNameUtilities
into the new NuGet package. The New NuGet package is calledMicrosoft.TestPlatform.AdapterUtilities
; it has no dependencies to the Test Platform itself. It only contains constants and helper methods. - Remove hardcoded support and .ctors from TestCase, and TestFx, and move it to the new NuGet package
- Provide a way to customize TestId generation by the adapter
- Make sure the TestPlatform is compatible with Visual Studio 16.8 (ManagedName and backward compatibility fixes. testfx#765)
- Implement the new feature in MSTest (ManagedName and backward compatibility fixes. testfx#765)
- Figure out how to support hierarchies in TestCase (Namespace, Class, TestGroup, DisplayName,
DataRow) (Added constants for hierarchical naming #2724) Update the documentation, provide implementation samples and guidance for adapter authors, etc.(We will add this after hierarchy support is merged into https://github.com/microsoft/testfx)
Remarks
We will do test Id customization in the adapters. Adapters will create and assign the test id, and We will provide a sample here once it is checked into https://github.com/microsoft/testfx.