我正在使用MATLAB xUnit来测试一些代码。我希望能够直接调用private目录中包含的一些函数。
这是一个简单的可复制设置:为自己创建一个项目目录,其中包含两个文件夹code和test. 在code中,创建一个名为的子目录,private使您的目录树看起来像
project_root
code
private
test
在code目录中放置一个函数
function y = main()
y = sub();
end
在private目录中放置一个函数
function y = sub()
y = 123;
end
在test目录中放置一个函数
function testsub()
assertElementsAlmostEqual(sub(), 123);
end
现在导航到测试目录并调用runtests. 您应该会看到一个错误,说明sub未定义。
privatematlab 路径上不允许使用目录,因此这不是一个选项。我可能会在code目录中放置一个函数来检索所有私有函数的句柄,但这似乎很hacky。
访问测试私有功能的最佳方法是什么?
编辑:
导航到私有目录的想法有问题。理论上我可以打电话,例如,
cd(privateDirectory);
suite = TestSuite.fromName(testDirectory);
suite.run
不幸的是,一旦您调用测试框架,它就会导航到包含测试的目录run。