2014-09-05 36 views

回答

1

我還沒有用過Heroku。 Heroku有可能使用go test命令運行基準測試時出現問題;臨時目錄可能有問題。

Command go

Test packages

'去測試' 與姓名匹配 文件模式 「* test.go」 的任何文件一起重新編譯每個包。名稱以 「」(包括「_test.go」)或「。」開頭的文件被忽略。這些附加文件 可以包含測試功能,基準測試功能和示例 函數。有關更多信息,請參閱「go help testfunc」。每個列出的軟件包都會導致 執行單獨的測試二進制文件。

該軟件包內置在臨時目錄中,因此它不會干擾 與非測試安裝。

嘗試在程序中運行基準測試。例如,

package main 

import (
    "fmt" 
    "math" 
    "testing" 
) 

// a function to be benchmarked 
func Area(r float64) float64 { 
    return math.Pi * r * r 
} 

// benchmark function 
func BenchmarkArea(b *testing.B) { 
    r := 42.0 
    for i := 0; i < b.N; i++ { 
     _ = Area(r) 
    } 
} 

func main() { 
    br := testing.Benchmark(BenchmarkArea) 
    fmt.Println(br.String() + br.MemString()) 
} 

輸出:

2000000000   1.21 ns/op  0 B/op   0 allocs/op 

Package testing

func Benchmark

func Benchmark(f func(b *B)) BenchmarkResult 

基準基準的單個功能。用於創建不使用「go test」命令的自定義 基準。

+0

問題是,在我的heroku部署中,我無法訪問go可執行文件。我不知道這是爲什麼。它可能在那裏,而不是在路上,但我不知道它在哪裏。 – Jordan 2014-09-09 14:20:52