A .NET library for creating, parsing, and manipulating Visual Studio test playlist files. Supports advanced playlist building and integration with test runners.
$ dotnet add package VSTestPlaylistTools.V1PlaylistThis folder contains a clean implementation of a parser and builder for Visual Studio Test Playlist Version 1.0 format.
The PlaylistV1 implementation provides functionality to:
using PlaylistV1;
// Parse from file
var playlist = PlaylistV1Parser.ParseFromFile("myplaylist.playlist");
Console.WriteLine($"Found {playlist.TestCount} tests");
// Parse from string
string xmlContent = "<Playlist Version=\"1.0\"><Add Test=\"MyTest\" /></Playlist>";
var playlist2 = PlaylistV1Parser.ParseFromString(xmlContent);
using PlaylistV1;
// Create a simple playlist
var playlist = PlaylistV1Builder.Create("Test1", "Test2", "Test3");
// Use fluent builder pattern
var playlist2 = PlaylistV1Builder.CreateBuilder()
.AddTest("MyNamespace.MyClass.TestMethod1")
.AddTest("MyNamespace.MyClass.TestMethod2")
.AddTests("Test3", "Test4", "Test5")
.Build();
// Convert to XML
string xml = PlaylistV1Builder.ToXmlString(playlist);
// Save to file
PlaylistV1Builder.SaveToFile(playlist, "output.playlist");
var playlist = new PlaylistV1.Models.PlaylistV1();
// Add tests
playlist.AddTest("MyTest1");
playlist.AddTest("MyTest2");
// Remove tests
playlist.RemoveTest("MyTest1");
// Check test count
Console.WriteLine($"Playlist contains {playlist.TestCount} tests");
The V1 playlist format is simple and consists of:
<Playlist Version="1.0">
<Add Test="FullyQualifiedTestName1" />
<Add Test="FullyQualifiedTestName2" />
<!-- ... more tests ... -->
</Playlist>
Key characteristics:
<Playlist> with Version="1.0"<Add> element with a Test attributeNamespace.Class.Method)