Importer qu'une méthode statique de la classe
J'ai le texte suivant décorateur dans une classe de base:
class BaseTests(TestCase):
@staticmethod
def check_time(self, fn):
@wraps(fn)
def test_wrapper(*args,**kwargs):
# do checks ...
return test_wrapper
Et suivants de la classe héritant de BaseTests:
from path.base_posting import BaseTests
from path.base_posting.BaseTests import check_time # THIS LINE DOES NOT WORK!
class SpecificTest(BaseTests):
@check_time # use the decorator
def test_post(self):
# do testing ...
Je voudrais utiliser le décorateur SpecificTest comme ci-dessus, sans avoir à utiliser BaseTests.check_time, parce que dans le code d'origine, ils ont des noms longs, et je dois l'utiliser dans de nombreux endroits. Des idées?
EDIT:
J'ai décidé de faire check_time une fonction indépendante dans BaseTests fichier, et il suffit d'importer
from path.base_posting import BaseTests, check_time
OriginalL'auteur Alex | 2012-09-26
Vous devez vous connecter pour publier un commentaire.
Simplement mettre
dans votre deuxième module:
Vous pouvez également vouloir reconsidérer la prise de
check_time
un staticmethod, car il semble que votre cas d'utilisation, il se sert plus comme un stand-alone, fonction que comme un staticmethod.OriginalL'auteur unutbu