title: Unexpected behavior from unittest.mock.patch
body: <p>What is wrong with my code below?</p>
  
  <p>I'm expecting <code>assert call_func_once_with("b")</code> to throw an error as call_func was passed 'a'. I confimed that the function was indeed called once and with argument 'a'. </p>
  
  <pre><code>from unittest.mock import Mock, patch
  def call_func(x):
      pass
  
  @patch("__main__.call_func")
  def test_call_func(call_func):
      call_func("a")
      assert call_func.called_once_with("b")
      assert call_func.called == 1
      print(call_func.call_args)
  
  test_call_func()
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>call('a')
  </code></pre>