Makefile-查找任意测试目录

Makefile-查找任意测试目录,makefile,zend-framework2,Makefile,Zend Framework2,我有一个ZF2应用程序,我已经将其设置为使用带有各种选项的Makefile构建。目前的问题是,/vendors/目录可能包含通过composer安装/更新的各种依赖项。每个依赖项可能包含单元测试,也可能不包含单元测试,并且测试的位置是任意的 运行maketest时,我希望Makefile在/vendors/目录中搜索名为/tests/的任何文件夹,并相应地执行单元测试 迭代供应商并找到任何能够执行单元测试的/tests/目录的最佳方式是什么?使用以下功能: LIST_OF_TESTS:=$(wi

我有一个ZF2应用程序,我已经将其设置为使用带有各种选项的Makefile构建。目前的问题是,
/vendors/
目录可能包含通过composer安装/更新的各种依赖项。每个依赖项可能包含单元测试,也可能不包含单元测试,并且测试的位置是任意的

运行
maketest
时,我希望Makefile在
/vendors/
目录中搜索名为
/tests/
的任何文件夹,并相应地执行单元测试

迭代供应商并找到任何能够执行单元测试的
/tests/
目录的最佳方式是什么?

使用以下功能:

LIST_OF_TESTS:=$(wildcard vendors/*/tests)

有没有办法使通配符函数递归?使用
vendors/*/tests
不起作用,但是
vendors/*/*/tests
出于某种原因起作用。我不知道您的确切项目布局。。。我猜/希望您有一个
vendors/*/tests
布局(其中
*
用于匹配任何供应商名称)。我不明白你说的“有没有办法使通配符函数递归?”。。。它是递归的,应该可以找到所有匹配项。我原以为它是递归的,但通过单独使用
vendors/*/tests
,它没有成功地在vendors中找到任何测试目录。目录结构是任意的,
供应商
目录包含由第三方创建的库和模块,因此没有明确的
测试
目录位置,因此我请求使用递归版本。不过,使用
vendors/*/*/tests
似乎可以正常工作。非常感谢您的帮助,非常感谢。请注意:不必对供应商进行单元测试。因为几乎所有的模块都是通过TravisCI在github上自动运行的。运行这些测试所做的一切是:它会耗费您的时间和内存:p如果我们不使用我们自己的内部供应商,而这些供应商不是公共回购,这将是真实的。对私有存储库的支持目前仍处于封闭测试阶段,我们需要一个稳定的解决方案。