Comment voulez-vous exécuter des tests NUnit de Jenkins?
Je suis à la recherche d'exécution automatisée de tests NUnit pour une application en C#, tous les soirs, et sur chaque commit svn.
Est-ce quelque chose que Jenkins-CI peut faire?
Est-il un tutoriel en ligne ou document documents similaires configuration que je peux regarder?
- est-ce que vous cherchez?
- Je suis à la recherche d'un tutoriel ou comment faire un document avec une configuration similaire.
- Avez-vous des NUnit exécuter les tests que vous le souhaitez à partir de la ligne de commande? Si non, c'est l'étape 1
Vous devez vous connecter pour publier un commentaire.
J'avais besoin de faire exactement ce que vous faites, voici comment je peux configurer Jenkins pour ce faire:
Seul test dll:
Plusieurs dll test à l'aide de Projets de test NUnit:
Une fois que votre projet a été construit, NUNit va maintenant exécuter, et les résultats seront visibles sur le tableau de bord(si vous passez la souris sur la Météo icône de rapport) ou sur la page du projet en vertu de Dernier Résultat de Test.
Vous pouvez également exécuter la commande à partir de Visual Studio ou dans le cadre de votre processus de build.
Voici deux billets de blog que j'ai utilisé pour référence. Je n'ai pas trouvé qui correspondait exactement à mes exigences:
1 Heure de Guide pour l'Intégration Continue de l'Installation: Jenkins rencontre .Net (2011)
Guide de construction .NET de projets à l'aide d'Hudson (2008)
"C:\Program Files (x86)\NUnit 2.6.3\bin\nunit-console-x86.exe" UnitTests/UnitTests.nunit
. A fonctionné parfaitement pour moi.Si vous ne voulez pas coder en dur votre de test de l'unité de projets, vous êtes mieux d'écrire un script pour saisir l'ensemble de votre projet de Test d'Unité de la dll. Nous le faisons avec Powershell et de suivre une convention spécifique pour nommer notre Unité de Test des Projets. Voici le contenu de la powershell de fichiers qui s'exécute nos tests unitaires:
Le script est suffisamment robuste que nous sommes en réutilisant pour tous nos travaux. Si vous n'aimez pas le chemin d'accès complet à NUnit de la console, vous pouvez toujours mettre ce lieu dans votre variable d'environnement PATH.
Ensuite, nous avons mis le RunUnitTests.ps1 fichier sur notre serveur de build et d'utiliser cette commande:
[string] $sourceDirectory = $(get-location)
et pour les chemins avec espaces que j'ai dû changer l'assemblée passe à nUnit pour$cFiles = $cFiles + '"' + $file + '"' + " "
Pour Nunit 3 ou au-dessus de farmework:
Étape de construction (ligne de commande de Windows)
"c:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" c:\AutomationTraining\CSharpSelenium\bin\Debug\test.dll --result=TestR.xml;format=nunit2
Post-étape pour Nunit la publication des rapports, il ne montre que les résultats de test de fichier dans Jenkins répertoire d'espace de travail, pas dans votre projet:
TestR.xml
Nous avons besoin de faire des résultats de test en nunit2 format, parce que maintenant Jenkins Nunit plugin ne reconnaît pas Nunit3 format des résultats.
Aussi les options de format de chaîne de caractères est différent:
--result=TestR.xml;format=nunit2
PAS
/xml=nunit-result.xml
Cela fonctionne très bien, j'ai mis cela en place avant.
Configurer NUnit en sortie les résultats dans un fichier XML et de configurer le NUnit Plugin Jenkins de consommer ce fichier XML. Les résultats seront disponibles sur le tableau de bord.
Maintenant, comment vous appelez NUnit est à vous. Comme nous l'avons fait, c'était:
Jenkins travail s'exécute NAnt cible exécute NUnit suite de tests.
Vous pouvez configurer Jenkins exécution de travaux sur les commettre et/ou programmées, à un certain moment.
La solution de Ralph Willgoss fonctionne bien, mais j'ai changé 2 choses pour en faire une grande:
un), j'ai utilisé un NUnit projet au lieu de le fichier DLL directement. De ce fait, il est plus facile d'ajouter plus d'assemblées ou de configurer le test NUnit GUI.
b) j'ai ajouté une ligne pour le lot pour prévenir l'accumulation de échoue lorsqu'un test échoue:
La NUnit Plugin mentionné les marques de la construire INSTABLE automatiquement, ce qui est exactement ce que je veux, à chaque fois qu'un test échoue. Il montre avec un point jaune.
Je pense que c'est mieux à l'échec de la construction lorsqu'il ne passe pas, donc vous n'avez pas le déployer. Faire quelque chose comme ceci:
Référence: http://www.greengingerwine.com/index.php/2013/01/tip-check-errorlevel-in-your-post-build-steps-when-using-nunit/
Jenkins n'ont plugins qui vont le supporter. La configuration exacte dépendra un peu sur votre projet d'installation. Il existe des plugins pour nUnit, MSBuild,nAnt etc. Commencez par regarder la page des plugins, mais il ne devrait pas être terriblement difficile à comprendre.
C'est ma solution pour l'exécution de OpenCover avec vstest dans Jenkins:
Chaque test dll est exécuté dans le cadre d'un processus, parce que nous avons eu des problèmes pour exécuter tous les tests dll dans un seul procress (probmels avec chargement de l'assemblage).