l'exécution de xunit à partir de la console
Que j'ai, ce qui est probablement une question stupide.
Je suis en train de lancer un xunit
dll à partir de l'invite de commande.
Je trouve que j'ai besoin de la suite de dll être dans le dossier qui l'invite de commande est en.
xUnit.Console.exe,xunit.console.exe.config,xunit.dll,xunit.runner.utility.dll
ce qui est bien, je suppose, mais je ne peux pas le faire fonctionner mes tests.
J'ai d'abord essayé à l'aide d'un chemin d'accès relatif à mon test de dll et c'était de ne pas avoir.
ensuite j'ai mis le test de dll dans un dossier avec les dll et il a couru. Maintenant, le résultat est-il dit que j'ai"m manque une dépendance pour mon test dll.
Ensuite j'ai mis le xunit fichiers dans le dossier bin avec mon projet de test, dll et il me dit qu'il ne peut même pas trouver le test de dll qu'il est assis à côté de.
Tout cela semble très difficile, ce que je veux, c'est faire cela, étant donné la structure suivante
--src
----tools
------xUnit
--------all my xunit dlls
----projects
------MyTestProject
-------bin
---------MyTestProject.dll
permet de dire
c:\Src\Tools\xUnit>xunit.console ..\\..\Projects\MyTestProject\bin\MyTestProject.dll
OriginalL'auteur Raif | 2014-01-09
Vous devez vous connecter pour publier un commentaire.
Deux solutions:
1) Ajouter
C:\src\Tools\xUnit
à votre variable d'environnement PATH et exécuter le xunit console application à partir d'une invite de commande où le répertoire courant estC:\src\projects\MyTestProject\bin
.2) selon la première suggestion, mais plutôt que de le mettre dans votre variable d'environnement PATH, spécifiez le chemin d'accès complet (relative ou absolue) de la xunit.console.exe sur la ligne de commande que l'exécutable à lancer.
OriginalL'auteur Josh Gallagher
Exécuter l'Invite de Commande
Exécuter la commande suivante en remplaçant "path_to_xunit_console" avec le chemin de xunit console
déplacer vers l'emplacement de votre unité binaire de test du projet:
Exécuter la commande suivante et enregistrer les journaux de fichier xml:
Pour connaître les différentes options:
Vous pouvez automatiser ces étapes, par la création d'un fichier de commandes,
test.cmd
, dans le binaire dossier test:OriginalL'auteur M.Hassan
Je me suis retrouvé à la construction d'une xUnit console de test runner en C# pour passer en revue et d'exécuter toutes les xUnit montages d'essai dans un dossier donné.
La structure je me suis retrouvé avec le testeur xUnit, nommé RunXUnitTests, dans un dossier d'un niveau au-dessus de l'montages d'essai, avec l'exécutable et l'assortiment prend en charge les dll nécessaires. Par exemple NLog la journalisation de l'aide et de support par email dll pour l'envoi des résultats par courriel ont été dans ce RunXUnitTests dossier.
Immédiatement sous le RunXUnitTests test runner dossier, il y a un "TestAssemblies" le dossier, et tous les xUnit montage d'essai dll est allé dans ce dossier, ainsi que tout ce que dll de prise en charge ont été requis par les tests eux-mêmes. Aussi, tous les xunit.console.exe fichiers d'exécution ont été dans le TestAssemblies dossier. Elle a été la moins déroutant d'avoir tous les tests et de leurs dépendances dans la même TestAssemblies dossier, séparé du lanceur de test.
Pour exécuter les tests, à partir de la console, le C# test runner application serait de soumettre des lignes de commande pour le Système.Diagnostic des processus de l'exécution de l'API, avec l'xunit.console.exe de commande en tant que le processus à exécuter, et le test de l'assemblée et le xml () fichier de résultats en tant que paramètres de ligne de commande.
Typique de la ligne de commande, pour la Préparation Opérationnelle des Tests (ORT), qui a été formatée par le test runner, et soumis à un processus.Méthode Start() de l'appel (d'où l'objet de processus est de type System.Diagnostics.Processus), est comme ci-dessous:
Après les essais de ran, le test runner programme avait quelques routines de spin à travers les résultats XML des fichiers, extraire les résultats, format un résumé des résultats par courriel (en format HTML), et envoyer l'email à une liste de distribution.
Je tiens à préciser que tout cela est emballé dans installable MSI fichiers qui peuvent être déployées pour Windows 7/10 Pc ou VMs pour les essais. Nous l'utilisons pour exécuter SpecFlow+xUnit "l'état de Préparation Opérationnelle des Tests" sur nos applications web selon un calendrier quotidien. Nous avons utilisé le Wix# ("WixSharp") installateur de construire nos installateurs en C# et ensuite le Wix Installation d'Outils standard MSI fichiers du programme d'installation. Voir https://github.com/oleg-shilo/wixsharp pour plus d'info et la source et les binaires. Il fonctionne très bien une fois que vous obtenez le coup de lui.
Oui, c'est une juste quantité de travail à faire de cette façon. Je ne le recommande pas si votre organisation a déjà d'autres DevOps type d'outils qui peuvent faire ce travail, par exemple, Jenkins, TeamCity, Bambou Azure pour le DevOps etc. Mon organisation est encore "en cours" sur la mise en de tels outils, et il était plus faisable à court terme pour faire évoluer le lanceur de test que pour obtenir des décisions de l'organisation, l'engagement financier, et l'installation et la configuration de DevOps/CI outillage.
Si vous n'avez pas accès à DevOps/IC outils, ce type d'approche utilise librement à disposition des outils open source (à part payée versions de MS Visual Studio, je ne sais pas ce que la communauté éditions faire et ne fonctionnent pas) et est utilisable comme un pont vers un plus sophistiqué de l'environnement.
OriginalL'auteur Developer63