Торт: Как получить результат от MSpec - PullRequest
0 голосов
/ 07 января 2019

Я пытался написать сценарий торта для моего CI. Я новичок в торте. В рамках этого скрипта я хотел выполнить тесты 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, поскольку он не имеет возвращаемого значения. См. API

Как и следовало ожидать, нет вывода на консоль, а это значит, что я не знаю, каков результат испытаний.

Как я могу получить этот результат, чтобы сообщить о нем моему CI?

1 Ответ

0 голосов
/ 07 января 2019

Использование MSpec (строка, 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, и тестовый глоббер не найдет никаких сборок, а MSPec даже не будет выполнен.

...