代码之家  ›  专栏  ›  技术社区  ›  Patryk

如何避免使用-run标志运行特定测试?

  •  0
  • Patryk  · 技术社区  · 6 年前

    我知道我可以通过使用 -run 像这样的旗帜:

    go test -run=TestUpdateAll//Assignments
    

    但我怎样才能做到这一点呢 go test 不跑 特殊的测试?

    假设我不想运行上面的测试。怎么做?

    编辑

    也许这对理解我的问题至关重要:我想运行的测试是由第三方工具生成的,我仍在尝试使用这些工具解决导致上述问题的问题。

    因此,我无法在source或use中真正添加标志 t.Skip()

    0 回复  |  直到 6 年前
        1
  •  0
  •   Paul Hankin    6 年前

    没有直接的方法可以做到这一点(这不涉及构造一个与除测试集之外的所有内容都匹配的regexp),但是如果您有一个想要经常跳过的特定测试(或测试集),您可以自己添加一个标志。

    在测试文件中:

    var skipPlz = flag.Bool("skip_assignments", false, "skip the assignments test")
    
    func TestAssignments(t *testing.T) {
       if *skipPlz { t.Skip("-skip_assignments set") }
       .. remainder of test
    }
    

    使用此代码,您可以使用 -skip_assignments 跳过此测试的标志。