2012-03-09 97 views
2

我有matlab_xunit,这是一个用于编写单元测试的一堆函数的文件夹。它存储在../external/matlab_xunit中。我想打电话给runtests,这是这个软件包的一部分。下面是示例代码:当前目录改变时,Matlab addpath()不会粘在路径上?

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

子目录是当前目录的子目录。 runtests所做的是将当前目录更改为子目录,然后它将在该文件夹中找到测试并运行测试。问题是,正如我发现的那样,只要当前目录发生变化,matlab_xunit就不再处于路径中。因此,所有功能测试必须在内部调用变得无效 - 它们只是“消失”。

无论如何围绕addpath()的这个缺点?

非常感谢!

回答

4

使用完整路径。这可能会工作:

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

完美。谢谢。 – user18115 2012-03-09 04:37:22

+2

实际上,更好的方法是将其与fileparts结合使用,以便路径名中没有“..”。这样就不会有任何冲突:addpath(genpath(fullfile(fileparts(pwd),'/ external/matlab_xunit'))) – user18115 2012-03-15 20:31:07