Как и большинство испытаний бегунов, XUnit возвращается количество неудачных тестов в коде возврата из консоли. Из коробки Cake выдает исключение и, следовательно, не выполняет сборку, когда код возврата инструмента не равен нулю.
Это можно увидеть в XUnit Runner тесты здесь:
https://github.com/cake-build/cake/blob/08907d1a5d97b66f58c01ae82506280882dcfacc/src/Cake.Common.Tests/Unit/Tools/XUnit/XUnitRunnerTests.cs#L145
Поэтому для того, чтобы знать, является ли: он передается
просто или не в уровне кода
Это неявно известно, была ли выполнена сбой или нет. Я обычно использую стратегию, подобную этой:
Task("Tests")
.Does(() =>
{
var testAssemblies = GetFiles("./src/**/bin/Release/*.Tests.dll");
XUnit2(testAssemblies,
new XUnit2Settings {
Parallelism = ParallelismOption.All,
HtmlReport = false,
NoAppDomain = true,
XmlReport = true,
OutputDirectory = "./build"
});
})
.ReportError(exception =>
{
Information("Some Unit Tests failed...");
ReportUnit("./build/report-err.xml", "./build/report-err.html");
});
Это делает использование возможностей обработки исключений в Cake:
http://cakebuild.net/docs/fundamentals/error-handling
принимать меры при возникновении ошибки. Кроме того, я использую ReportUnit alias, чтобы преобразовать XML-отчет в удобочитаемый HTML-отчет.
Вы имеете в виду отчет об испытаниях или хотите, чтобы эти значения использовались для чего-то еще? – Nkosi
@Nkosi XUnit2 (testAssemblies); Эта строка будет запускать тестовые примеры в упомянутой DLL – Venkat
@Nkosi. Я хочу получить сводку выполнения тестового примера, например, счетчик неудачных попыток, передает количество проверочных случаев или даже просто передается или не выполняется на уровне кода – Venkat