第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在golang中每次運(yùn)行測(cè)試時(shí)獲得不同的UUID?

如何在golang中每次運(yùn)行測(cè)試時(shí)獲得不同的UUID?

Go
牛魔王的故事 2022-08-24 12:51:56
我有一個(gè)集成測(cè)試,每次運(yùn)行時(shí)都需要不同的UUID,但下面的代碼每次都會(huì)生成相同的uuid。package serviceimport (    "fmt"    "testing"    "github.com/google/uuid")func TestOne(t *testing.T) {    id, _ := uuid.NewRandom()    fmt.Println(id)}以下是Go Playground中的類似代碼:https://play.golang.org/p/85yecbn4F80如何讓它在每次執(zhí)行時(shí)返回一個(gè)新值?
查看完整描述

2 回答

?
蕭十郎

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊

從 2022 年 6 月 21 日開始編輯:使用 https://go.dev/play/ 時(shí),腳本似乎不再緩存。每次運(yùn)行時(shí)都會(huì)打印一個(gè)新的 UUID,即使腳本保持不變也是如此。


正如用戶在評(píng)論中指出的那樣,Go Playground中的輸出被緩存。如果在自己的命令行上嘗試此操作,則會(huì)在每次運(yùn)行時(shí)打印一個(gè)新的 UUID。


package main


import (

    "fmt"


    "github.com/google/uuid"

)


func main() {

    id, _ := uuid.NewRandom()

    fmt.Println(id)

}


$ go run .

604f5ea8-d146-4aac-9a15-4dc33a84eb59

$ go run .

3bc094cf-99c8-4250-98a0-9831fdadedac

$ go run .

b0c13db3-e466-4b5c-a179-e0a16469f11a

就其價(jià)值而言,可以通過更改腳本(例如,添加或修改注釋)使Go playground緩存無效。這將導(dǎo)致生成新的 UUID。


查看完整回答
反對(duì) 回復(fù) 2022-08-24
?
泛舟湖上清波郎朗

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊

將問題的再現(xiàn)性放在一邊,因?yàn)槟膯栴}專門與測(cè)試有關(guān),為了完整性,我將添加到現(xiàn)有答案中,該答案也命令緩存結(jié)果 - 即使它并不總是如此(見下文)。我不使用VSCode,所以我無法判斷IDE本身是否執(zhí)行了一些緩存,但請(qǐng)考慮一下,如果您從命令行運(yùn)行單元測(cè)試,并且測(cè)試通過,則第二次運(yùn)行它時(shí),打印的輸出也將是相同的。go testuuid.NewRandom()


特別是,當(dāng)(引用)“它使用顯式包參數(shù)調(diào)用”時(shí),緩存成功結(jié)果。 并且是包參數(shù)。go test./....


因此,如果您有:


func TestUUID(t *testing.T) {

    u, err := uuid.NewRandom()

    fmt.Println(u)

    assert.Nil(t, err)

}

并運(yùn)行:go test -v ./uuidtest/


=>$ go test -v ./uuidtest/

=== RUN   TestUUID

b1a912ea-0dd2-4ed6-a5af-00ce106b1017

--- PASS: TestUUID (0.00s)

PASS

ok      testproj/uuidtest   0.025s

=>$ go test -v ./uuidtest/

=== RUN   TestUUID

b1a912ea-0dd2-4ed6-a5af-00ce106b1017

--- PASS: TestUUID (0.00s)

PASS

ok      testproj/uuidtest   (cached)

=>$ go test -v ./uuidtest/

=== RUN   TestUUID

b1a912ea-0dd2-4ed6-a5af-00ce106b1017

--- PASS: TestUUID (0.00s)

PASS

ok      testproj/uuidtest   (cached)

順便說一句,終端輸出很好,足以提醒您結(jié)果確實(shí)是 。(cached)


要避免成功緩存,可以將參數(shù)添加到命令調(diào)用中:count=1go test -v ./uuidtest/ -count=1


查看完整回答
反對(duì) 回復(fù) 2022-08-24
  • 2 回答
  • 0 關(guān)注
  • 133 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)