我正在构建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");
最终,我想使用第一个解决方案,但先运行,然后运行测试发现以刷新所有可用的测试以运行。我在(不存在的)现有文档中进行了搜索,以了解如何做到这一点。
关于如何实现这一目标的任何想法?