I occasionally find I need/want this. I expect to make setup() take an argument and receive the test method that will be run, but it never works. Is that something that could sensibly be added?
As an example: I am testing a part of the server. setup() brings the server into a particular state. A test method needs a particular configuration variable set. Setting that variable when the test method runs is too late. I put a @with_setup(foo=bar) decorator on the test method, the setup() can read the information the decorator set, voilà.