Самый простой способ, которым я нашел AppCenter для запуска тестов NUnit проекта, - это добавление сценария после сборки для каждого приложения и установка NunitXml.TestLogger
пакета Nuget в ваш проект NUnit, который выведет Xml-файл результатов ваших тестов.
Для создания сценария после сборки он должен находиться в корневом каталоге Android / iOS .csproj и иметь имя appcenter-post-build.sh
. Тогда ваш скрипт должен выглядеть примерно так:
#Android post build script
#Make sure the directly to the NUnit csproj is correct
ProjectPath="$APPCENTER_SOURCE_DIRECTORY\YourProject.NUnit\YourProject.NUnit.csproj"
echo "$ProjectPath"
#To generate the xml file it requires nuget NunitXml.TestLogger
dotnet test "$APPCENTER_SOURCE_DIRECTORY" --logger:"nunit;LogFilePath=TestResults.xml"
echo "NUnit tests result:"
pathOfTestResults=$(find $APPCENTER_SOURCE_DIRECTORY -name 'TestResults.xml')
cat $pathOfTestResults
echo
#Looks for a failing test and causes the build to fail if found
grep -q 'result="Failed"' $pathOfTestResults
if [[ $? -eq 0 ]]
then
echo "A test Failed"
exit 1
else
echo "All tests passed"
fi
Последняя часть должна привести к сбою сборки вашего AppCenter, если тест пройдёт. Кроме того, вам может потребоваться дважды выполнить его сборку в AppCenter, прежде чем он обнаружит, что сценарий пост-сборки был добавлен в ваш репозиторий.