首頁  >  文章  >  後端開發  >  如何從父目錄測試嵌套的 Go 模組?

如何從父目錄測試嵌套的 Go 模組?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-28 20:11:02493瀏覽

How to Test Nested Go Modules from the Parent Directory?

從父目錄測試嵌套的 Go 模組

Go 的測試框架 go test 被設計為在單一 Go 模組中工作。當遇到像上面描述的這樣的資料夾結構,其中多個Go模組駐留在嵌套的子目錄中時,從根目錄執行go test將不會成功。

遇到錯誤訊息“no packages to test”,表明: go test 未能在目前目錄或其父目錄中找到任何可測試的套件。這是因為 go test 期望在根目錄或其直接父目錄中的單一模組上運作。

不幸的是,go test 目前不支援直接測試嵌套模組。要在多個子目錄中執行測試,您需要使用 shell 腳本或 Makefile 在每個子目錄中單獨執行 go test。

例如,可以使用Makefile 循環遍歷子目錄,呼叫進行測試,並彙總結果:

all-tests:
    for dir in one two; do \
        make -C $$(cd $$dir && pwd) test; \
    done

或者,可以編寫shell 腳本來執行相同的任務:

<code class="sh">#!/bin/sh
for dir in one two; do
    (
        cd "$dir"
        go test
    )
done</code>

在具有多個模組的大型專案中,專門的測試腳本或Makefile 通常用於自動化測試過程,如原始答案中提供的範例所示。這些腳本通常會循環遍歷模組清單並對每個目錄執行 go test。

以上是如何從父目錄測試嵌套的 Go 模組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn