Cache de resultado de setUp () usando Python unittest

Atualmente, tenho um unittest.TestCase que se parece com ..

class test_appletrailer(unittest.TestCase):
    def setup(self):
        self.all_trailers = Trailers(res = "720", verbose = True)

    def test_has_trailers(self):
        self.failUnless(len(self.all_trailers) > 1)

    # ..more tests..

Isso funciona bem, mas oTrailers() a chamada demora cerca de 2 segundos para ser executada.setUp() é chamado antes de cada teste ser executado, os testes agora levam quase 10 segundos para serem executados (com apenas 3 funções de teste)

Qual é a maneira correta de armazenar em cache oself.all_trailers variável entre testes?

Removendo a função setUp e executando ..

class test_appletrailer(unittest.TestCase):
    all_trailers = Trailers(res = "720", verbose = True)

..works, mas afirma que "Ran 3 testes em 0.000s" está incorreto. A única outra maneira que eu consegui pensar é ter uma variável global cache_trailers (que funciona corretamente, mas é horrível):

cache_trailers = None
class test_appletrailer(unittest.TestCase):
    def setUp(self):
        global cache_trailers
        if cache_trailers is None:
            cache_trailers = self.all_trailers = all_trailers = Trailers(res = "720", verbose = True)
        else:
            self.all_trailers = cache_trailers

questionAnswers(5)

yourAnswerToTheQuestion