如何编写有效的 golang 单元测试?

admin 阅读:158 2024-07-12

本单元测试验证了 sleep100ms() 函数在运行 100 毫秒后完成。测试涉及测量函数运行前后的时间差并验证差值是否大于或等于 100 毫秒,以确保函数正常执行。

如何编写有效的 golang 单元测试?

package mypkg

import (
    "testing"
    "time"
)

// Sleep100ms 模拟一个耗时操作
func Sleep100ms() {
    time.Sleep(100 * time.Millisecond)
}

// TestSleep100ms 单元测试 Sleep100ms 函数
func TestSleep100ms(t *testing.T) {
    startTime := time.Now()

    Sleep100ms()

    duration := time.Since(startTime)

    if duration.Milliseconds() < 100 {
        t.Errorf("Sleep100ms() expected to run for at least 100 milliseconds, got %d", duration.Milliseconds())
    }
}
声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!