如果我们可以为我的 golang 测试获得分支覆盖率,有人可以向我建议一种方法吗?假设我有一个如下所示的 golang 代码:


package main


import (

    "fmt"

)


func HelloWorld(name string, printv int) string {

    if name == "tuk" || printv == 1 {

        fmt.Println("Hello tuk")

        return "Hello tuk"

    } else {

        fmt.Println("Who are you?")

        return "Who are you?"

    }

}

对应的测试文件如下所示:


package main


import "testing"


func TestHelloWorld(t *testing.T) {

    r := HelloWorld("tuk", 0)

    if r != "Hello tuk" {

        t.Error("Test Failed")

    }

}

如果我执行下面的测试命令,它只是给了我语句覆盖率:


go test -coverprofile=cover.out .

ok      test    0.007s  coverage: 60.0% of statements

有没有办法我也可以获得分支覆盖?