title: How to parameterize python unittest setUp method?
body: <p>I'm trying to run same test cases with different setUp methods. I've tried using nosetests and parameterized but it seems like it doesn't support parameterizing setUp methods. Here is an example of what I'm trying to do:</p>
  
  <pre><code>...
  from nose_parameterized import parameterized
  
  class Example(unittest.TestCase):
  
      @parameterized.expand(['device1', 'device2'])
      def setUp(self, device):
          desired_caps = {}
          desired_caps['key1'] = device
          desired_caps['key2'] = 'constant value'
  
      self.driver = webdriver.Remote(url, desired_caps)
  
      def tearDown(self):
          self.driver.quit()
  
      def test_app_launch(self):
          # assert something
  </code></pre>
  
  <p>The error is: <code>TypeError: setUp() takes exactly 2 arguments (1 given)</code>.</p>
  
  <p>Is there some other way how to parameterize setUp method? I also looked into nosetests generators but it doesn't seem to be the way to go either.</p>