0

我跑在golang一些測試,我想避免運行緩慢的,例如測試這一個使用bcrypt所以它的速度慢:有條件地運行與建設標誌不工作

// +build slow 
package services 

import (
    "testing" 
    "testing/quick" 
) 

// using bcrypt takes too much time, reduce the number of iterations. 
var config = &quick.Config{MaxCount: 20} 

func TestSignaturesAreSame(t *testing.T) { 
    same := func(simple string) bool { 
     result, err := Encrypt(simple) 
     success := err == nil && ComparePassWithHash(simple, result) 
     return success 
    } 

    if err := quick.Check(same, config); err != nil { 
     t.Error(err) 
    } 
} 

爲了避免在運行此在每次迭代中,我都設置了// +build slow標誌。這應該只在執行go test -tags slow時運行,但不幸的是它每次都在運行(-v標誌顯示它正在運行)。

任何想法有什麼不對?

+1

「爲了區分建立從包文件的限制,一系列構建約束必須跟一個空行。」 https://golang.org/pkg/go/build/ – JimB

+1

我認爲封裝測試已經有一個由short引發的「short」模式。 – Volker

回答

5

你// +建立緩慢需要跟一個空行

爲了區分建立從包文檔約束,一系列構建約束必須跟一個空行。

訪問Build Constraints