[PYTHON] Je veux charger le projecteur pytest en tant que bibliothèque ailleurs (pytest peut ne pas exister dans l'environnement)

Même si vous appelez l'appareil comme une fonction normale, en ignorant le décorateur pytest, cela fonctionnera bien si les signatures correspondent.

Cependant, si le pytest lui-même n'existe pas, un détour est nécessaire. Par exemple, vous pouvez effectuer les opérations suivantes:

try:
    import pytest
except ImportError:
    # provide fake pytest function to keep the script still runnable as standalone script
    def null_decorator_or_decomaker(f=None, **decomaker_kwargs):
        if f:
            # decorator
            return lambda *args, **kwargs: f(*args, **kwargs)
        else:
            # decomaker
            def _(f):
                # decomaker_kwargs can be handled
                return lambda *args, **kwargs: f(*args, **kwargs)
            return _
    def null_decomaker(*decomaker_args, **decomaker_kwargs):
        def _(f):
            return lambda *args, **kwargs: f(*args, **kwargs)
        return _
    def null_decorator(f):
        return lambda *args, **kwargs: f(*args, **kwargs)
    class pytest:
        fixture = staticmethod(null_decorator_or_decomaker)
        class mark:
            parametrize = staticmethod(null_decomaker)
        # other function declarations follow if required.

\ # Je me demande s'il est plus lié au pytest, mais voulez-vous le taguer? ..

Recommended Posts

Je veux charger le projecteur pytest en tant que bibliothèque ailleurs (pytest peut ne pas exister dans l'environnement)
Développement LINEbot, je souhaite vérifier le fonctionnement dans l'environnement local
Je veux imprimer dans la notation d'inclusion
Je veux créer un environnement Python
Je souhaite trier une liste dans l'ordre des autres listes
Je veux éviter les problèmes de saisie lors du débogage de l'exemple de vérification des compétences de Paiza dans un environnement local tel que Jupyter [Python]
Je souhaite utiliser Python dans l'environnement de pyenv + pipenv sous Windows 10
[Mots qui m'ont été épelés quand j'étais en première année ①] Je n'ai pas peur de créer un environnement de programmation.
Je veux créer une fenêtre avec Python
Je souhaite définir un cycle de vie dans la définition de tâche d'ECS
Je souhaite voir une liste de fichiers WebDAV dans le module Requêtes
Je veux afficher la progression en Python!
Notez que j'étais accro au script npm ne passant pas dans l'environnement de vérification
Je souhaite intégrer une variable dans une chaîne Python
Je veux faire la transition avec un bouton sur le ballon
Je veux écrire en Python! (2) Écrivons un test
Je veux échantillonner au hasard un fichier avec Python
Je souhaite créer facilement un environnement de développement basé sur un modèle
Je veux travailler avec un robot en python.
Je veux écrire en Python! (3) Utiliser des simulacres
Je veux utiliser le jeu de données R avec python
Je veux voir le graphique en 3D! Je peux réaliser un tel rêve.
Une histoire à laquelle j'étais accro en spécifiant nil comme argument de fonction dans Go
Un mémorandum pour enregistrer la bibliothèque écrit en Hy dans PyPI
J'ai essayé l'algorithme de super résolution "PULSE" dans un environnement Windows
Je veux démarrer un environnement Jupyter avec une seule commande
Remarques sur la façon de charger un environnement virtuel avec PyCharm
Je souhaite utiliser un environnement virtuel avec jupyter notebook!
Je veux rendre le type de dictionnaire dans la liste unique
Je veux aligner les nombres valides dans le tableau Numpy
Je veux ajouter un joli complément à input () en python
Je veux créer un Dockerfile pour le moment.
Je ne voulais pas écrire la clé AWS dans le programme
Lors de la génération d'un grand nombre de graphiques avec matplotlib, je ne souhaite pas afficher le graphique à l'écran (environnement jupyter)
Je veux créer un graphique avec des lignes ondulées au milieu avec matplotlib (je veux manipuler l'impression)
Je souhaite enregistrer l'heure d'exécution et conserver un journal.
[Linux] Je souhaite connaître la date à laquelle l'utilisateur s'est connecté
J'ai créé une bibliothèque Python pour appeler l'API de LINE WORKS
J'ai écrit une fonction pour charger le script d'extension Git en Python
Je veux créer un système pour éviter d'oublier de serrer la clé 1
Je veux créer un fichier pip et le refléter dans le menu fixe
Je veux faire de la deuxième ligne le nom de la colonne dans pandas
Je veux réussir le test G dans un mois Jour 1
Je veux connaître la population de chaque pays du monde.
J'ai fait une commande pour afficher un calendrier coloré dans le terminal
Si vous voulez être guéri par l'image de Mia Nanasawa, appuyez sur l'API Twitter ♪
Je veux utiliser quatre règles compliquées dans l'instruction IF du modèle Django! → Utilisez un modèle personnalisé
Je souhaite utiliser l'environnement de bureau d'Ubuntu même sur Android pour le moment (entrée version japonaise de Termux dans l'environnement de bureau)
Si vous voulez un singleton en python, considérez le module comme un singleton
Je souhaite séparer le traitement entre le temps de test et l'environnement de production
Je souhaite envoyer un signal uniquement du sous-thread au thread principal
(Matplotlib) Je veux dessiner un graphique avec une taille spécifiée en pixels
[Langage C] Je souhaite générer des nombres aléatoires dans la plage spécifiée
Comment installer le package python dans un environnement local en tant qu'utilisateur général
Je souhaite convertir une table convertie en PDF en Python en CSV
Je veux convertir par lots le résultat de "chaîne de caractères" .split () en Python
Je veux expliquer en détail la classe abstraite (ABCmeta) de Python
Je souhaite utiliser Django Debug Toolbar dans les applications Ajax
Maintenance de l'environnement réalisée avec Docker (je souhaite post-traiter GrADS en Python