2 votes

Matlab addpath() ne conserve pas le chemin lorsque le répertoire courant est modifié ?

J'ai matlab_xunit, qui est un dossier avec un tas de fonctions utilisées pour écrire des tests unitaires. Il est stocké dans ../external/matlab_xunit. Je veux appeler runtests qui fait partie de ce paquetage. Voici l'exemple de code :

addpath(genpath('../external/matlab_xunit'))
runtests subdirectory

Le sous-répertoire est un sous-répertoire du répertoire courant. Ce que runtests fait, c'est qu'il va changer le répertoire courant en sous-répertoire, et ensuite il va trouver les tests dans ce dossier et les exécuter. Le problème est que, comme je l'ai découvert, dès que le répertoire courant est modifié, matlab_xunit n'est plus sur le chemin. Ainsi, toutes les fonctions que runtests doit appeler à l'intérieur deviennent invalides - elles disparaissent tout simplement.

Comment contourner ce défaut de addpath() ?

Merci beaucoup !

4voto

Pursuit Points 8392

Utilisez un chemin complet. Ceci fonctionnera probablement :

addpath(genpath(fullfile(pwd,'../external/matlab_xunit')))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X