dongwen6743 2015-09-16 03:09
浏览 179

如何在Golang中测试睡眠功能

I have written my own sleep function and want to test it. Following is my code:

func TestSleep(t *testing.T) {
    start := time.Now()
    mySleepFunction(65)
    end := time.Now()
    if (end - start) != 65 {
        t.Error("Incorrect sleep function")
    }
}

This is not working. I am trying to get start time and end time and then compare it with expected time. The expected time will be in seconds. I tried end.Sub(start) but this returns me something like 1m30.0909, instead I need 90 as a result. It would be great if someone could help me. Thanks :)

  • 写回答

2条回答 默认 最新

  • dougao1542 2015-09-16 06:12
    关注

    If you use time.Unix() which gives you the amount of seconds since the epoch (January 1, 1970 UTC.) then your test should work.

    func TestSleep(t *testing.T) {
        start := time.Now().Unix()
        mySleepFunction(65)
        end := time.Now().Unix()
        if (end - start) != 65{
            t.Error("Incorrect sleep function")
        }
    }
    

    Currently, your code is subtracting a time.Now() which doesn't return the result you intend. Your test wants simple int values that represent seconds.

    评论

报告相同问题?

悬赏问题

  • ¥30 自适应 LMS 算法实现 FIR 最佳维纳滤波器matlab方案
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥15 Python3.5 相关代码写作
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像