title: Testify failing assertion for mocks when passing the correct args
body: <p>Golang beginner here. I am trying to write tests for my struct which eventually mocks out the stats interface. The relevant part of my code looks below as far as the tests go.</p>
  <pre><code>// Test code
  type MockStats struct {
      mock.Mock
  }
  
  func (m *MockStats) Mean(input []float64) (mean float64, err error) {
      args := m.Called(input)
      return (args.Get(0)).(float64), args.Error(1)
  }
  
  func TestCalculateWhenErrorCalculatingMean(t *testing.T) {
  
      m := new(MockStats)
  
      data := []float64{0.0, 0.1}
      r := ResponseAggregate{ExecutionTimes: data}
  
      // Expectations
      m.On(&quot;Mean&quot;, []float64{0.0, 0.1}).Return(float64(0.1), errors.New(&quot;Oops!&quot;)).Once()
      m.AssertExpectations(t)
  
      // Function call
  
      err := r.Calculate(m)
  
      // Data assertion
      assert.NotNil(t, err)
      if assert.Error(t, err) {
          assert.Equal(t, errors.New(&quot;error calculating average. Oops!&quot;), err)
      }
  
  }
  
  </code></pre>
  <p>My calling code looks like</p>
  <pre><code>type ResponseAggregate struct {
      ExecutionTimes             []float64
      AverageTime                float64
  }
  
  
  func (response *ResponseAggregate) Calculate(stats Stats) error {
  
      average, err := stats.Mean(response.ExecutionTimes)
      if err != nil {
          return fmt.Errorf(&quot;error calculating average. %v&quot;, err)
      }
  
      return nil
  </code></pre>
  <p>When I run my tests, I get the error</p>
  <pre><code>            The code you are testing needs to make 1 more call(s).
  </code></pre>
  <p>Could you help me out with what I am missing here? Thanks. BTW, using Go 1.16.3</p>