title: patching random.choice in each run for a test case
body: <p>I have a function that loops over a certain number of times and picks a random element from a list each time.</p>
  
  <p>The problem is while writing testcase for this.</p>
  
  <p>Sample code</p>
  
  <pre><code>def func(given):
      combo = [filled by a function]
      for i in range(0,given):
          com = random.choice(combo)
  
  </code></pre>
  
  <p>and my test case is like </p>
  
  <pre><code>@patch('random.choice',2)
  def test_func():
      func(250)
      assert(expected,actual)
  </code></pre>
  
  <p>so when the test case runs , I want to dynamically give different value in each run for random.choice.</p>
  
  <p>how can this be achieved ?</p>