code: func (m *Mock) On(methodName string, arguments ...interface{}) *Call {
  	for _, arg := range arguments {
  		if v := reflect.ValueOf(arg); v.Kind() == reflect.Func {
  			panic(fmt.Sprintf("cannot use Func in expectations. Use mock.AnythingOfType(\"%T\")", arg))
  		}
  	}
  
  	m.mutex.Lock()
  	defer m.mutex.Unlock()
  	c := newCall(m, methodName, assert.CallerInfo(), arguments...)
  	m.ExpectedCalls = append(m.ExpectedCalls, c)
  	return c
  }
docs: // On starts a description of an expectation of the specified method
  // being called.
  //
  //     Mock.On("MyMethod", arg1, arg2)