0
我已经设法编写可以清理和构建另一个解决方案的代码,并从解决方案中运行所有MSTest(也可能是其他的如NUnit),但我需要能够获得所有测试类和方法名称,以便单独运行测试(或者我可以在输出字符串同时运行时从输出字符串中提取通过/失败测试的名称 - 但这不是长期可靠的)。如何以编程方式获取有关或操作其他解决方案的信息? (Visual Studio,C#)
我感觉这应该都是一个单独的程序/插件,然后我可以使用我需要如何在我的项目中 - 但肯定有人已经写过类似的东西?
我想象我可以这样做:
var solution = new Solution("C:\Documents\VisualStudioFolder\MySolution.sln");
solution.Clean();
solution.Build(); // could return a bool to check it was successful
List<Test> tests = solution.GetTests();
foreach (Test test in tests) {
if (test.Run()) {
Console.WriteLine("Test passed");
}
}
难道这种事情存在?
我建议你使用MSBuild和MSTest可以通过使用Process.Start。 – wonko79 2014-10-01 15:09:39
这可能会有所帮助:http://stackoverflow.com/questions/3996392/execute-unit-tests-using-msbuild-command-line – Mrchief 2014-10-01 15:12:59
是的,这就是我现在正在做的事情,它的建设很好,但为了运行测试,它不会给出任何类型的结果分解(除非我从输出字符串中提取它们) – 2014-10-01 15:14:51