2012-03-09 9 views
2

私はmatlab_xunitを持っています。これは、単体テストの作成に使用される一連の関数を持つフォルダです。これは../external/matlab_xunitに格納されています。私はこのパッケージの一部であるランテストを呼びたいと思う。ここにサンプルコードがあります:現在のディレクトリが変更された場合、Matlabのaddpath()はパスに張り付いていませんか?

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

サブディレクトリは、現在のディレクトリのサブディレクトリです。ランテストは現在のディレクトリをサブディレクトリに変更し、そのフォルダ内のテストを見つけてテストを実行します。問題は、わかったように、現在のディレクトリが変更されるとすぐに、matlab_xunitはパス上になくなりました。したがって、runtestsのすべての関数を無効にする必要があります - それらは単に消えます。

とにかくaddpath()のこの欠点の周りですか?

ありがとうございます!

答えて

4

完全パスを使用してください。これはおそらく動作します:

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

パーフェクト。ありがとう。 – user18115

+2

実際、それを行うより良い方法は、filepartsと組み合わせて、パス名に ".."が全くないようにすることです。 addpath(genpath(fullfile(fileparts(pwd)、 '/ external/matlab_xunit'))))このようにして、 – user18115

関連する問題