title: How to assert multiple method calls with different parameters each time in python unittest?
body: <p>I am using python unittest to test my code. As part of my code, I am using these</p>
  
  <pre><code>boto3.client('sts')
  boto3.client('ec2')
  boto3.client('ssm', arg1, arg2)
  </code></pre>
  
  <p>So I mocked boto3 before writing my test case, and taking it as argument.
  Now I can assert whether boto3.client called or not.</p>
  
  <p>But I want to check whehter boto3.client called with sts and boto3.client called wit ec2 and with ssm,arg1,arg2.</p>
  
  <p>When there is only one call I was able to do using <code>boto3.client.assert_called_with('my parameters')</code>. But facing issue to check multiple calls with different parameters each time.</p>
  
  <pre><code>@patch('createCustomer.src.main.boto3')
      def test_my_code(self, mock_boto3):
          # Executing main class
          mainclass(arg1, arg2)
          # Verifing
          mock_boto3.client.assert_called()
  </code></pre>
  
  <p>I want to achieve like</p>
  
  <pre><code>mock_boto3.client.assert_called_once_with('sts')
  mock_boto3.client.assert_called_once_with('ec2')
  mock_boto3.client.assert_called_once_with('ssm',arg1,arg2)
  </code></pre>
  
  <p>But this is giving error in first assert only, saying boto3.client called 3 times and parameters it is showing of last call i.e. 'ssm', arg1, arg2</p>