go中函数的正确测试方法

我是新手,开始玩测试。我的方法返回一个 [] 字节,其中包含一个 md5 哈希值。


func myHash(s string) []byte {

    h := md5.New()

    io.WriteString(h, s)

    return h.Sum(nil)

}

它正在工作并且哈希值看起来不错,但是当我使用此方法对其进行测试时:


func TestMyHash(t *testing.T) {

    s := "linux"

    bf := ("e206a54e97690cce50cc872dd70ee896")

    x := hashor(s)

    if !bytes.Equal(x, []byte(bf)) {

        t.Errorf("myHash ...")

    }

}

它总是会失败。首先,我认为将字符串转换为 []byte 或反之亦然可能存在问题,但在一遍又一遍地尝试之后,我只需要在这里提问。


你能举个例子来测试我的功能吗?我错过了一些必要的东西吗?


慕斯王
浏览 197回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go