testing - 有条件地运行构建标志不起作用的测试

标签 testing go conditional-compilation property-based-testing

我在 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 标志显示它正在运行)。

知道哪里出了问题吗?

最佳答案

你的//+build slow后面需要跟一个空行

为了区分构建约束和包文档,一系列构建约束后面必须跟一个空行。

访问Build Constraints

关于testing - 有条件地运行构建标志不起作用的测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35924680/

相关文章:

ruby-on-rails - cucumber 长?

go - fmt.Println 是否接收任何类型的参数?

go - 在 go 函数注释中编写代码块的正确方法是什么?

vim - 在vim中,如何查看我当前所在的#ifdef宏?

javascript - Protractor - 发送规范/套件名称作为参数

c# - 如何在 ASP 中测试 AccountController?

go - 多次返回时总是一个新变量

c - 宏中的双斜线注​​释替换

c# - 如何在 .NET Framework 和 .NET Compact Framework 上编译库?

testing - 我们如何测试 Roku 应用程序