Я создаю расширение для Visual Studio (ориентировано в первую очередь на VS 2017). Мне бы хотелось, чтобы расширение подключалось к событию сборки OnBuildDone и автоматически запускало все тесты после успешной сборки. До сих пор мне удалось подключить BuildEvent, и я попробовал следующие решения:
// Solution 1, works but only runs the already discovered tests
IDisposableQuery<ITest> tests = await TestsService.GetTestsAsync();
await TestsService.RunTestsAsync(tests.Select(t => t.Id));
// Solution 2, works but also rebuilds the project (redundantly)
// and emits the OnBuildDone event (causing an infinite recursion loop)
dte.ExecuteCommand("TestExplorer.RunAllTests");
В конечном итоге я хотел бы перейти к первому решению , но начать с запуска обнаружения тестов, чтобы обновить все доступные тесты для запуска. Я искал (не) существующую документацию о том, как это сделать без удачи.
Есть идеи, как этого добиться?