首页 > 文章列表 > golang函数的单元测试

golang函数的单元测试

单元测试 golang
229 2024-04-23

单元测试测试单个函数或小片段逻辑,以确保修改后代码仍按预期运行。实战案例包括编写函数、创建测试文件、定义测试用例并使用 t.Errorf 报告测试失败。最佳实践包括为每个函数编写测试、使用有意义的测试用例名称、测试各种输入、经常运行测试并保持测试简单。

golang函数的单元测试

Go 语言函数的单元测试

介绍

单元测试是测试代码库中的单个函数或小片段逻辑的过程。它们有助于确保在修改后代码仍然按预期运行,并减少引入错误的风险。

实战案例

考虑以下函数,该函数计算两个数字的和:

func Sum(a, b int) int {
    return a + b
}

要测试此函数,我们可以创建一个测试文件并使用 testing 包:

import (
    "testing"
)

func TestSum(t *testing.T) {
    // 创建测试用例
    testCases := []struct {
        a, b, expected int
    }{
        {1, 2, 3},
        {3, 5, 8},
        {-1, -2, -3},
    }

    for _, tc := range testCases {
        // 运行函数并获取结果
        result := Sum(tc.a, tc.b)

        // 检查结果是否等于预期值
        if result != tc.expected {
            t.Errorf("预期 %d,但得到 %d", tc.expected, result)
        }
    }
}

运行测试

使用以下命令编译并运行测试:

go test

如果所有测试都通过,您将看到如下输出:

PASS
ok      github.com/username/mypackage  0.004s

最佳实践

  • 对于每个函数或逻辑块编写一个测试函数。
  • 使用有意义的测试用例名称。
  • 测试各种输入和边界情况。
  • 使用 t.Errorf 报告测试失败。
  • 保持测试简单且容易理解。
  • 经常运行测试以确保代码的正确性。