我试图为我的词写一个蛋糕脚本。我是新来的蛋糕。 作为此脚本的一部分,我想执行MSpec测试。
Task("Run-Tests")
.IsDependentOn("Build")
.Does(() => {
var configurationIntoTests = configuration + "/*.Tests.dll";
MSpec("../src/ERP.BusniessLogic.Tests/bin" + configurationIntoTests);
MSpec("../src/ERP.DapperDataAccess.Tests/bin" + configurationIntoTests);
MSpec("../src/ERP.DomainModel.Tests/bin" + configurationIntoTests);
MSpec("../src/ERP.Shared.Tests/bin" + configurationIntoTests);
MSpec("../src/ERP.Web.Tests/bin" + configurationIntoTests);
});
我假设它会像MSBuild一样提供控制台输出,因为它没有返回值。 See API
您可能会期望没有控制台输出,这意味着我不知道测试结果是什么。
我如何获得该结果以将其报告给我的ci?
答案 0 :(得分:3)
使用MSpec(string, MSpecSettings)重载将使您可以设置报告的类型,名称以及使用MSpecSettings类放置报告的位置。
MSpec("../src/Progresso.ERP.BusniessLogic.Tests/bin/" + configurationIntoTests,
new MSpecSettings {
ReportName = "Progresso.ERP.BusniessLogic.Tests",
HtmlReport = true,
OutputDirectory = "./build"
});
更新
研究示例代码时,我发现在配置之前缺少/
var configurationIntoTests = configuration + "/*.Tests.dll";
应该是
var configurationIntoTests = "/" + configuration + "/*.Tests.dll";
否则,bin/Debug/
会变成binDebug
,而测试globber将找不到任何程序集,甚至MSPec也不会被执行。