亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 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 關注
  • 110 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號