title: Nose ignores test with custom decorator
body: <p>I have some relatively complex integration tests in my Python code.  I simplified them greatly with a custom decorator and I'm really happy with the result.  Here's a simple example of what my decorator looks like:</p>
  
  <pre><code>def specialTest(fn):
  
      def wrapTest(self):
          #do some some important stuff
          pass
      return wrapTest
  </code></pre>
  
  <p>Here's what a test may look like:</p>
  
  <pre><code>class Test_special_stuff(unittest.TestCase):
  
      @specialTest
      def test_something_special(self):
          pass
  </code></pre>
  
  <p>This works great and is executed by PyCharm's test runner without a problem.  However, when I run a test from the commandline using Nose, it skips any test with the @specialTest decorator. 
  I have tried to name the decorator as testSpecial, so it matches default rules, but then my FN parameter doesn't get passed.</p>
  
  <p>How can I get Nose to execute those test methods and treat the decorator as it is intended?</p>
  
  <hr>
  
  <h2>SOLUTION</h2>
  
  <p>Thanks to madjar, I got this working by restructuring my code to look like this, using functools.wraps and changing the name of the wrapper:</p>
  
  <pre><code>from functools import wraps
  
  def specialTest(fn):
  
      @wraps(fn)
      def test_wrapper(self,*args,**kwargs):
          #do some some important stuff
          pass
      return test_wrapper
  
  
  class Test_special_stuff(unittest.TestCase):
  
      @specialTest
      def test_something_special(self):
          pass
  </code></pre>