Nunit: chemin indirect dans le fichier de projet .nunit provoque le plantage de nunit3-console.exe 3.2.1

Créé le 18 mai 2016  ·  4Commentaires  ·  Source: nunit/nunit

Un fichier de projet tests.nunit avec le contenu

<NUnitProject> <Settings activeconfig="Release"/> <Config name="Release"> <assembly path="..\MyProject.Test\bin\Release\MyProject.Test.dll"/> </Config> </NUnitProject>

exécuter à partir de cmd comme ceci :
D:\projects\MySolution\MyTestStuff>"nunit3-console.exe" tests.nunit

provoque le plantage de la console nunit avec ce message d'erreur :

_Impossible de charger le fichier ou l'assembly 'nunit.framework' ou l'une de ses dépendances. Le système ne peut pas trouver le fichier spécifié._

Déplacer tout en arrière dans un répertoire et mettre à jour le fichier tests.nunit comme tel fait que le test s'exécute normalement. Le plantage semble être causé par le "..\" dans le chemin du fichier de projet.

<assembly path="MyProject.Test\bin\Release\MyProject.Test.dll"/>

Faire cela à partir de la ligne de commande fonctionne également correctement :

D:\projects\MySolution\MyTestStuff>"nunit3-console.exe" ..\MyProject.Test\bin\Release\MyProject.Test.dll

Commentaire le plus utile

Je déteste la correction automatique ! Appbase dans les deux cas.

Tous les 4 commentaires

Dans la première commande (en cas d'échec), la base d'applications est définie par défaut sur l'emplacement du fichier de projet. Cela rend impossible le chargement d'assemblys qui ne se trouvent pas dans ou en dessous de ce répertoire.

Options...

  1. Déplacez le fichier de projet dans un répertoire qui contient tous les assemblys à charger.
  2. Définissez explicitement la base d'applications dans le fichier de projet.

Charlie, pourriez-vous expliquer ce que vous entendez par « apaiser » et « le plus tôt » ? En regardant simplement l'exemple de fichier de configuration .nunit dans la documentation, je ne comprends pas de quoi vous parlez.

https://github.com/nunit/docs/wiki/NUnit-Test-Projects

Je déteste la correction automatique ! Appbase dans les deux cas.

Hé, merci. Cela a beaucoup plus de sens.

Si quelqu'un trouve cela via google, voici ce que j'aurais dû faire si je voulais mettre mon fichier .nunit dans un sous-répertoire :

<NUnitProject> <Settings activeconfig="Release"/> <Config name="Release" appbase="..\"> <assembly path="MyProject.Test\bin\Release\MyProject.Test.dll"/> </Config> </NUnitProject>

Cette page vous a été utile?
0 / 5 - 0 notes