2017-07-03 18 views
-1

當嘗試不帶任何參數執行單元測試功能,它給下面的輸出路徑爲什麼runtime.caller(0)被賦予與「--cover」的說法不同的路徑在單元測試

C:/Program Files (x86)/Go1.8\bin\go.exe" test -v gclassec/skyline/loggers -run ^TestCreateLogFilesPath$ 

filePath:=== C:/GerritNew/goclassec/src/gclassec/skyline/loggers/logs.go 

但是,當我嘗試使用下面如--cover文件路徑值改變任何參數運行它:

"C:/Program Files (x86)/Go1.8\bin\go.exe" test -v --cover gclassec/skyline/loggers -run ^TestCreateLogFilesPath$ 

filePath:=== gclassec/skyline/loggers/_test/_obj_test/logs.go 

我使用runtime.caller(0)獲取文件路徑。

+0

由於封面重寫了源代碼,並且工作在與普通'go test'不同的目錄。 (不值得回答。) – Volker

+0

我應該怎麼做才能讓封面在相同位置重寫源代碼? – Vicky

+0

你不能也沒有必要。 (或者你必須打補丁工具。) – Volker

回答

0

它通過使用os.Getwd()和runtime.caller與一個變量在測試和正常運行之間進行diffrentiate。

相關問題