为了账号安全,请及时绑定邮箱和手机立即绑定

testify/assert.Contains 如何与地图一起使用?

testify/assert.Contains 如何与地图一起使用?

Go
隔江千里 2021-12-13 18:20:29
该文档显示此作为一个例子:assert.Contains(t, {"Hello": "World"}, "Hello", "But {'Hello': 'World'} does contain 'Hello'")但是运行这个失败mymap := map[string]string{}mymap["Hello"] = "World"assert.Contains(t, mymap, "Hello")导致错误:Error:     "map[Hello:World]" could not be applied builtin len()切换 mymap 和 "hello" 结果如下:Error:     "Hello" does not contain "map[Hello:World]"
查看完整描述

2 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

我检查了一下,它对我来说很好用。您确定显示的错误与该代码有关吗?这就是我尝试过的:


package main


import "testing"

import "github.com/stretchr/testify/assert"


func TestContains(t *testing.T) {

    mymap := map[string]string{}

    mymap["Hello"] = "World"

    assert.Contains(t, mymap, "Hello")

}

并且测试不会失败:


→ go test stackoverflow/35387510/contains_test.go

ok      command-line-arguments  0.009s


查看完整回答
反对 回复 2021-12-13
?
慕容708150

TA贡献1831条经验 获得超4个赞

看起来您必须使用类型断言


package main


import "testing"

import "github.com/stretchr/testify/assert"


func TestContains(t *testing.T) {

     // Initialize assert as below

    assert := assert.New(t)

    mymap := map[string]string{}

    mymap["Hello"] = "World"

    //then no need to pass t in contains

    assert.Contains(mymap, "Hello")

}

在包含类型断言的文档中


查看完整回答
反对 回复 2021-12-13
  • 2 回答
  • 0 关注
  • 216 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号