Size: a a a

Golang Developers — русскоговорящее сообщество

2020 November 17

D

Dmitry in Golang Developers — русскоговорящее сообщество
насколько я разобрался с моками в голанг то мок должен реализовывать все методы того что он мокает
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
я то не проверяю, го проверяет и орет что тип не тот вернул из мока
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
1. делаете мок message, Client, User
2. я не помню можно ли и как мокать проперти, но уверен что можно, заменяете проперти Client на мокнутый
3. у Client мокаете GetUser и возвращаете мокнутый юзер
4. у User мокаете DoSomethingAndReturnBool
5. ???
6. PROFIT
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
ага, так это выглядит в самом простом варианте и так бы работало в пхп
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
выходит цепочка моков, так и будет работать в го
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
для этого моки и нужны, чтоб мокать )
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
Dmitry
ага, так это выглядит в самом простом варианте и так бы работало в пхп
Как пример:
m := mock_dbqueries.NewMockQI(ctrl)
m.EXPECT().PublicKeys().MaxTimes(1).Return(mockPK)

m = мокнутый контролер ctrl
ему заменяется метод PublicKeys на мокнутый результат
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
userMock := UserMock{}
userMock.On("IsLessonOwner",Types.LessonId("")).Return(true)

clientMock := ClientMock{}
clientMock.On("GetUser").Return(&userMock)
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
ну норм, а что не так?
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
assert: mock: I don't know what to return because the method call was unexpected.  Either do Mock.On("IsLessonOwner").Return(...) first, or remove the IsLessonOwner() call.  This method was unexpected:   IsLessonOwner(Types.LessonId)   0: ""  at: [handler_test.go:44 handler.go:28 handler_test.go:73] [recovered]
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
вот :)
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
и хоть убей не понимаю что не так :(
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
мне кажется он ругается на аргумент
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
ага, я тоже так думал, дебажил, аргумент в точности тот что я передаю
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
не, надо ему точно сказат что придет, сколько, и что выйдет
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
и потом вызов должен 100% совпадать
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
конфиг мока = вызов реальный
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
хоть что-то не совпадет, он будет ругаться
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
в моем случае я даже количество вызовов настраивал
источник