Python pas cher
importation pytest
importation inspecter
importation os.chemin
@pytest.fixation
def attendre(demande):
def do_expect(expr, msg=''):
si ne pas expr:
_log_failure(demande.nœud, msg)
revenir do_expect
def _log_failure(nœud, msg=''):
# obtenir le nom du fichier, la ligne et le contexte
(nom de fichier, ligne, funcname, contextlist) = inspecter.empiler()[[[[2][[[[1:5]
nom de fichier = os.chemin.nom de base(nom de fichier)
le contexte = contextlist[[[[0]
# entrée de format
msg = '% s n' % msg si msg autre ''
entrée = '>% s% s% s:% s n ——–' % (le contexte, msg, nom de fichier, ligne)
# ajouter une entrée
si ne pas hasattr(nœud, '_failed_expect'):
nœud._failed_expect = [[[[]
nœud._failed_expect.ajouter(entrée)
@pytest.marque.tryfirst
def pytest_runtest_makereport(article, appel, __multicall__):
rapport = __multicall__.exécuter()
si (appel.quand == "appel") et rapport.passé et hasattr(article, '_failed_expect'):
rapport.résultat = "échoué"
résumé = 'Echec des attentes:% s' % len(article._failed_expect)
article._failed_expect.ajouter(résumé)
rapport.longrepr = ' n'.joindre(article._failed_expect)
revenir rapport
[ad_2]