猿问

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

有谁知道如何打印例如结构的差异,以便 Intellij 理解它,特别是在测试中?

例如,在 Java 中使用 Hamcrest 或 Mockito 时,如果断言失败,这些库会以 Intellij 可以理解的方式打印,当您单击断言错误消息时,Intellij 会打开一个比较窗口,我可以很容易地看到差异有很好的突出显示。

有没有支持这个的图书馆?


江户川乱折腾
浏览 114回答 2
2回答

潇潇雨雨

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

饮歌长啸

GoLand(或带有 Go 插件的 IntelliJ IDEA)目前支持多个库,点击查看差异功能:证明断言 (github.com/stretchr/testify/assert)。package mainimport (    "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 mainimport (    "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")}
随时随地看视频慕课网APP

相关分类

Go
我要回答