Je cours des tests dans golang et je veux éviter de courir les plus lents, par exemple celui-ci utilise bcrypt il est lent:conditionnelle des tests en cours d'exécution avec des drapeaux de construction ne fonctionne pas
// +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)
}
}
Pour éviter l'exécution de cette à chaque itération, j'ai mis en place le drapeau // +build slow
. Cela ne devrait fonctionner que si vous faites go test -tags slow
mais malheureusement il s'exécute à chaque fois (l'indicateur -v montre qu'il est en cours d'exécution).
Une idée de ce qui ne va pas?
« Pour distinguer construire des contraintes de documentation du paquet, une série de contraintes de construction doit être suivie d'une ligne vide. » https://golang.org/pkg/go/build/ – JimB
Je pense que le test des paquets a déjà un mode "court" déclenché avec -short. – Volker