Да, это возможно с помощью args.Get
и введите утверждение.
Из документов :
// For objects of your own type, use the generic Arguments.Get(index) method and make a type assertion:
//
// return args.Get(0).(*MyObject), args.Get(1).(*AnotherObjectOfMine)
Итак, ваш пример будет:
func (m *someMock) doStuff(p *sql.DB, id int) (res int64, err error) {
args := m.Called(number)
return args.Get(0).(int64), args.Error(1)
}
Дополнительно, если возвращаемое значение является указателем (например, указатель на структуру), вы должны проверить, равен ли он нулю, прежде чем выполнять утверждение типа.