用单元测试覆盖主函数中的代码

时间:2018-04-04 15:25:15

标签: unit-testing go

Golang表示我只有50%的覆盖代码,而且我看到main中的代码没有被覆盖,我已经尝试搜索但没有找到任何解释如何覆盖main中的代码。

main.go

package main

func Sum(x int, y int) int {
    return x + y
}

func main() {
    Sum(5, 5)
}

main_test.go

package main

import (
    "testing"
)

func TestSum(t *testing.T) {
    total := Sum(5, 5)
    if total != 10 {
        t.Fail()
    }
}

1 个答案:

答案 0 :(得分:1)

测试文件通常直接位于他们测试的代码旁边。根据项目的大小,您不必将sum函数提取到另一个包中,只是为了测试它而且也不必公开:

<强> main.go

package main

func main() {
    sum()
}

func sum() int {
    return 5 + 5
}

<强> main_test.go

package main

import (
    "testing"
)

func TestSum(t *testing.T) {
    total := sum()
    if total != 10 {
        t.Fail()
    }
}