dream_life5200 2018-01-26 16:05
浏览 820
已采纳

如何使用go test -run运行特定的golang测试

What am I doing wrong here? I just want to run this one ConnectionPoolTest.TestNew and what ever I try, I get back 'no test to run'

:go test  --check.list *.go |grep Connectio
ConnectionPoolTest.TestNew
:go test  --run ConnectionPoolTest *.go
ok      command-line-arguments  0.005s [no tests to run]
:go test  --run ConnectionPoolTest.TestNew *.go
ok      command-line-arguments  0.005s [no tests to run]
  • 写回答

1条回答 默认 最新

  • dousendun8411 2018-01-26 16:25
    关注

    If you want to run a specific test, you may run as bellow

    package main
    
    import (
        "testing"
        "github.com/stretchr/testify/assert"
    )
    
    func TestA(t *testing.T) {
        assert.True(t, true)
    }
    
    func TestB(t *testing.T) {
        assert.True(t, false)
    }
    

    Run Test:

    $ go test -run B
    --- FAIL: TestB (0.00s)
            Error Trace:    a_test.go:13
            Error:          Should be true
    FAIL
    exit status 1
    FAIL    test    0.004s
    $ go test -run A
    PASS
    ok      test    0.003s
    shahriar@Kite ~/g/s/test> 
    

    -run flag

    -run regexp
            Run only those tests and examples matching the regular expression.
            For tests the regular expression is split into smaller ones by
            top-level '/', where each must match the corresponding part of a
            test's identifier.
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?