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

在 Intellij 中突出显示 Golang 测试断言的差异

在 Intellij 中突出显示 Golang 测试断言的差异

Go
江户川乱折腾 2022-06-13 10:45:28
有谁知道如何打印例如结构的差异,以便 Intellij 理解它,特别是在测试中?例如,在 Java 中使用 Hamcrest 或 Mockito 时,如果断言失败,这些库会以 Intellij 可以理解的方式打印,当您单击断言错误消息时,Intellij 会打开一个比较窗口,我可以很容易地看到差异有很好的突出显示。有没有支持这个的图书馆?
查看完整描述

2 回答

?
潇潇雨雨

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

我认为结果不会像您提到的示例那么漂亮,但是您可以尝试在测试中使用go- spew或godebug来打印出失败案例的差异。您不会看到比较弹出窗口,但您将能够轻松识别不匹配



查看完整回答
反对 回复 2022-06-13
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

GoLand(或带有 Go 插件的 IntelliJ IDEA)目前支持多个库,点击查看差异功能:


证明断言 (github.com/stretchr/testify/assert)。

package main


import (

    "github.com/stretchr/testify/assert"

    "testing"

)


func TestSomething(t *testing.T) {

    assert.Equal(t, 1234, 123, "they should be equal")

}

去检查(gopkg.in/check.v1)。

package main


import (

    "testing"


    . "gopkg.in/check.v1"

)


// Hook up gocheck into the "go test" runner.

func Test(t *testing.T) { TestingT(t) }


type MySuite struct{}


var _ = Suite(&MySuite{})


func (s *MySuite) TestHelloWorld(c *C) {

    c.Assert(42, Equals, "42")

}


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

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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