Описание тега gomock

GoMock - это фиктивный фреймворк для языка программирования Go.
1 ответ

Есть ли возможность использовать что-то похожее на захват аргумента mockito?

Мы используем gopkg.in/mgo.v2/bson для общения с mongo, и его API заполняет переданные структуры, а не возвращает результаты, например: func (p *Pipe) One(result interface{}) error {... Проблемы возникают, когда я хочу макетировать / тестировать код…
07 фев '18 в 10:43
0 ответов

Использование testing.T в TestMain

Я хочу запустить несколько тестовых случаев, для которых необходимо запустить фиктивный сервер GRPC. я использую gomock библиотека для этого. Чтобы запустить сервер, я должен передать переменную типа testing.T к этой функции - gomock.NewController()…
03 ноя '18 в 07:23
1 ответ

Тестирование и насмешка над функцией, которая не возвращает никакого значения

Я хочу протестировать функцию, которая не возвращает никакого значения, а вместо этого запускает другие функции. Читая о тестировании, я нашел информацию о том, что это называется поведенческой проверкой, и что с помощью насмешек я могу проверить, к…
03 янв '18 в 18:08
1 ответ

Как проверить ожидание звонка в Go

У меня есть класс MyClass, который я хочу проверить. MyClass имеет метод void, который вызывает внутренний сервер, чтобы что-то сделать. func (d *MyClass) SendToServer(args) do stuff.... server.Send(myMessage) Я хочу смоделировать серверный вызов Se…
30 янв '15 в 09:49
1 ответ

Использование mockgen в режиме отражения

Я пытаюсь написать несколько тестов для существующей библиотеки, но не могу заставить работать gomock Я хотел бы проверить поведение в случае сбоя rand.Read. Вот пример того, что я хотел бы проверить. Я хотел бы видеть строку log.Error, выполняющуюс…
21 янв '18 в 11:36
1 ответ

Как бороться со случайными входными и выходными значениями

У меня есть интерфейс оболочки, который определяет функцию Downloadfile. Проблема заключается в том, что один из параметров имеет случайное временное имя директории, а вывод - случайное временное имя файла. Как мне издеваться, используя https://gith…
19 авг '18 в 18:35
1 ответ

Как запустить mockgen во время сборки?

Я начал использовать gomock для создания фиктивных объектов для модульного тестирования. Гомок требует, чтобы я управлял mockgen Команда с определенным аргументом для генерации кода для макета. Это необходимо делать снова каждый раз, когда изменяемы…
26 окт '13 в 05:00
1 ответ

Как смоделировать memcache в go lang для модульного тестирования?

Я хочу смоделировать данные кэша memcache в go lang, чтобы избежать авторизации, которую я пробовал с gomock, но не смог, так как у меня нет никакого интерфейса для этого. func getAccessTokenFromCache(accessToken string) func TestSendData(t *testing…
06 апр '18 в 08:36
1 ответ

Тестирование с Gomock возвращает ошибку: ожидаемый вызов уже был вызван максимальное количество раз

Я использую Gomock https://godoc.org/github.com/golang/mock и mockgen Исходный код этого теста: package sqs import ( "fmt" "log" "os" "runtime" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/servic…
06 июл '18 в 08:49
2 ответа

Как ввести URL-адрес для httptest.server в Голанге?

Для предложения resp, err := client.Get(fmt.Sprintf("https://www.xxxxx/day?time=%s", time)) Если я хочу смоделировать ответ на этот client.Get() в модульном тесте, я должен использовать httptest.server, но как я могу привязать URL ( https://www.xxxx…
26 окт '17 в 00:37
1 ответ

Прерывание теста из-за пропущенных вызовов

Я пытаюсь mock.Expectна метод, который вызывается внутри локальной функции. Когда я делаю mock.Expect.AddNumbers(a, b).AnyTimes().Return(&result.sum, nil) испытания проходят. Но когда я ожидаю, что это выполнится хотя бы один раз, это терпит неу…
09 янв '19 в 00:11
1 ответ

Как вы установите возвращаемое значение макета функции?

Я использую Gomock для создания фиктивных объектов для модульного тестирования. Следующее дает фиктивному объекту метод с именем GetQuestionById и говорит имитирующему контроллеру ожидать, что метод будет вызван с аргументом 1: gw.EXPECT().GetQuesti…
26 окт '13 в 04:53
1 ответ

Разрешение конфликта импортированных пакетов для mockgen

У меня есть столкновение пакета, где я получаю следующую ошибку: mockgen -package=mocks -source=myproto.pb.go -destination=mocks/my_mocks.go imported package collision: "foo" imported twice Я вижу один импорт, который очевиден:import foo "blah/blah/…
22 май '18 в 21:52
0 ответов

Как смоделировать метод, который возвращает структуру?

Вот немного golang программа, которая подключается к localhost через ssh и делает некоторые sftp подобные операции. Работает нормально но хотелось бы сделать doTheWork() функция более тестируема. Я прочитал об использовании gomock для создания макет…
19 янв '18 в 00:09
2 ответа

Голанг: как издеваться над интерфейсом {}, используя аргументы gomock

У меня есть Printer интерфейс, который использует стандарт Go Printf подпись функции: type Printer interface { Printf(format string, tokens ...interface{}) } Я хотел бы иметь возможность смоделировать этот интерфейс с помощью gomock, но я не уверен,…
24 фев '16 в 20:32
0 ответов

Разрешение цикла импорта гомок

Как мне решить проблему импорта между github.com/golang/mock/gomock а также golang.org/x/net/context? Насколько я могу судить, этот цикл существует внутри двух пакетов, и я не могу изменить ни один из них внутри. В настоящее время это мой импорт: im…
07 май '18 в 19:58
2 ответа

В какой каталог ставить макеты?

Я недавно экспериментировал с GoMock, тестовый макет фреймворка, поддерживаемый официальными создателями языка Go. Мне было интересно, где наиболее разумное место, чтобы положить эти издевательские файлы. Моя текущая структура каталогов выглядит сле…
19 фев '17 в 21:46
1 ответ

Как убедиться, что все функции асинхронного запускаются до выполнения отложенного

У меня есть функция сказать Myfunction() { x.RunAsync() //Async Function call } Я должен написать контрольный пример для Myfunction(), Я использую для этого идиотскую игру. И издевались x, Test_MyFunction() { mockCtrl := gomock.NewController(t) defe…
12 дек '18 в 20:57
1 ответ

gomock, go, пакет манго,MongoMock

Я пытаюсь издеваться над методом ниже, используя гомок func GetS(tenantName string) (*mgo.Session, error) { ctx := apiContext.TContext{} url, err := connectionURLList.get(tenantName) if err != nil { log.GenericWarning(ctx, fmt.Sprintf("connection to…
23 фев '18 в 10:53
1 ответ

Как проверить, что функция была вызвана в goroutine?

Я хотел бы убедиться, что мы запускаем процедуру, вызывая функцию с правильными аргументами. Например: func MyTest(t *testing.T) { service.EXPECT().MyMockFunc(1) service.MyFunc() } func MyFunc() { go MyMockFunc(1) } Когда я запускаю этот тест, он не…
26 май '18 в 00:38