Sobes.tech
Junior — Middle

Китобхонаҳои кадомро барои сохтани объектҳои мок дар санҷишҳо истифода бурдед?

sobes.tech AI

Ҷавоб аз AI

በGo ቋንቋ ለመፍጠር የሞክ እቃዎች በፈተናዎች ውስጥ በተለመዱ የሚጠቀሙት ከሚከተሉት ቤተ-መጻሕፍት ናቸው:

  • gomock — የGoogle መነሻ ቤተ-መጻሕፍት ነው፣ በmockgen መሣሪያ በመጠቀም ከአገናኝ በመሠረት ሞክ ማፍራት ይፈቅዳል።
  • testify/mock — ከታዋቂው testify ፓኬጅ ክፍል ነው፣ በቀላሉ ሞክ ማፍራት እና ተጠቃሚ ተግባራትን ለመያዝ ይሰጣል።

testify/mock እንዴት እንደሚሰራ ምሳሌ:

import (
    "testing"
    "github.com/stretchr/testify/mock"
)

type MyInterface interface {
    DoSomething(int) string
}

type MyMock struct {
    mock.Mock
}

func (m *MyMock) DoSomething(i int) string {
    args := m.Called(i)
    return args.String(0)
}

func TestMyFunction(t *testing.T) {
    m := new(MyMock)
    m.On("DoSomething", 123).Return("result")

    res := m.DoSomething(123)
    if res != "result" {
        t.Errorf("ያልተጠቃሚ ውጤት: %s", res)
    }

    m.AssertExpectations(t)
}

እነዚህ ቤተ-መጻሕፍት የተፈተናውን ኮድ ከውጭ እንደሚመለከት እና ከእነሱ ጋር የሚያደርጉትን እንቅስቃሴ ለመምረም ይረዳሉ።