trouver un expert Python
- Comment voir les polices utilisées par un site Web • WPShout
- Meilleur plugin WordPress Image Optimizer: Principales options de compression
- L'analyse des données Python de la bonne façon – Le vrai podcast Python
- Episode # 223 Des jeux 2D simples et amusants avec Python
- WordPress 5.4 est maintenant disponible • WPShout
'''
Implémente une forme d'assertions différées.
L'interface est 2 fonctions:
expect (expr, msg = None)
: Évaluer 'expr'comme un booléen, et garde la trace des échecs
assert_expectations ()
: soulève une assertion si un appel expect () a échoué
Exemple d'utilisation:
à partir des attentes import attendu, assert_expectations
def test_should_pass ():
attendez (1 == 1, 'un est un')
assert_expectations ()
def test_should_fail ():
attendre (1 == 2, 'un est deux')
attendre (1 == 3, 'un est Trois')
assert_expectations ()
'''
# —————————————————– –
def attendre(expr, msg=Aucun):
"garde la trace des attentes manquées"
si ne pas expr:
_log_failure(msg)
def assert_expectations():
"faire une affirmation s'il y a des attentes manquées"
si _expectations_échouées:
affirmer Faux, _report_failures()
# —————————————————– –
importation inspecter
importation os.chemin
_expectations_échouées = [[[[]
def _log_failure(msg=Aucun):
(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]
_expectations_échouées.ajouter('fichier "% s", ligne% s, dans% s ()% s n% s' %
(nom de fichier, ligne, funcname, ((' n% s' % msg) si msg autre ''), le contexte))
def _report_failures():
global _expectations_échouées
si _expectations_échouées:
(nom de fichier, ligne, funcname) = inspecter.empiler()[[[[2][[[[1:4]
rapport = [[[[
' n nassert_expectations () appelé depuis',
'"% s" ligne% s, dans% s () n' % (os.chemin.nom de base(nom de fichier), ligne, funcname),
'Echec des attentes:% s n' % len(_expectations_échouées)]
pour je,échec dans énumérer(_expectations_échouées, début=1):
rapport.ajouter('% d:% s' % (je, échec))
_expectations_échouées = [[[[]
revenir (' n'.joindre(rapport))
# —————————————————– –
# _log_failure () notes
#
# stack () retourne une liste d'enregistrements d'images
# 0 est la fonction _log_failure ()
# 1 est la fonction expect ()
# 2 est la fonction appelée expect (), c'est ce que nous voulons
#
# un enregistrement d'image est un tuple comme ceci:
# (Frame, filename, line, funcname, contextlist, index)
# nous sommes principalement intéressés par le milieu 4,
# —————————————————– –
[ad_2]