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