2017-07-26 80 views
-2

考慮的文件結構像這樣錯過覆蓋「route.go」文件。去測試沿着執行路徑

就包裝而言,「api」文件夾下的所有內容均位於「api」包中。 「impl.go」中的代碼位於「impl」包中,「impl_test」包中的代碼位於「impl_test」包中。

api ------- 
      |_ routes 
      |_ handler functions 
impl------- 
      |_ impl functions 
impl_test-- 
      |_ test functions 

測試功能啓動一個HTTP服務器使用的路由和處理程序中的「API」包,然後調用的API聽一個本地開放端口。

但是,覆蓋率報告顯示「api」程序包中代碼的覆蓋率爲0%,「impl」顯示爲非零%。

有人可以解釋爲什麼覆蓋率是衡量一個包而不是另一個?是否有辦法解決這個問題?

+3

測試覆蓋率僅適用於一個封裝中。 – JimB

+2

雖然有[gocovmerge](https://github.com/wadey/gocovmerge)來幫助。 – Adrian

+0

「測試覆蓋範圍僅限於一個包」。如何選擇該包?爲什麼在我的情況下是「impl」而不是「api」? –

回答