2013-01-15 47 views
0

我有一個ZF2應用程序,我已經使用帶有各種選項的Makefile來建立。目前的問題是/vendors/目錄可以包含通過編輯器安裝/更新的各種依賴關係。每個依賴項可以包含或不包含單元測試,並且測試的位置是任意的。Makefile - 查找任意測試目錄

當運行make test,我想Makefile文件通過/vendors/目錄名爲/tests/任何文件夾進行搜索並相應地進行單元測試。

什麼是迭代通過供應商和任何/tests/目錄能夠執行單元測試的最佳方式?

+0

只是一個側面說明:它不應該是必要的單元測試的廠商。由於幾乎所有的模塊都通過TravisCI自動運行在github上。所有運行這些測試的是:它花費你的時間和內存:P – Sam

+0

如果我們沒有使用我們自己的非公開回購的內部供應商,這將是真實的。對私人存儲庫的支持目前仍處於內測階段,我們需要立即提供穩定的解決方案。 – aminal

回答

1

使用wildcard功能:

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

有沒有辦法使通配符函數遞歸?使用'vendors/*/tests'不起作用,但'vendors/*/*/tests'確實可以工作。 – aminal

+0

我不知道你的確切的項目佈局......我猜/我希望你有'vendor/*/tests'佈局(其中'*'用於匹配任何供應商名稱)。我不明白你的意思是'_是否有一種方法可以使通配符函數遞歸?_'...它是遞歸的並且應該找到**所有**匹配。 – Veger

+0

我認爲這是遞歸的,但是通過單獨使用'vendors/*/tests',它沒有在供應商中找到任何測試目錄。目錄結構是任意的,'vendors'目錄包含由第三方創建的庫和模塊,所以沒有明確的'tests'目錄位置,因此我需要遞歸版本。然而使用'vendors/*/*/tests'似乎可以正常工作。感謝您的幫助,非常感謝。 – aminal