Essayez de mettre en place un environnement de test Vim assez sérieusement (pour Python)

Aperçu

--Jusqu'à présent, UnitTest a été exécuté par vim-quickrun ou après être revenu avec C-Z et avoir frappé le terminal. ――Actuellement, il est difficile de développer des tests pilotés avec Vim. ――Il est temps de créer les paramètres de test.

problème actuel

  1. :QuickRun --QuickRun ne peut exécuter que l'intégralité du test. Je pense (parce que je ne suis pas un coureur d'essai) «Cela peut être possible si vous faites de votre mieux. ――Il est difficile de faire toute l'exécution plusieurs fois pour un test long ou un test lent. Je veux faire juste une méthode ou quelque chose rapidement.
  2. Exécution du terminal ―― C'est fatigant de retourner au terminal.
  1. :make --Make peut tout faire pour le moment. (J'ai confirmé que je pouvais le faire à peu près, mais je n'ai pas dit que je pouvais le faire) ――Le réglage semble difficile. Écrivez-vous les paramètres pour unittest intégré, djangotest, nose, pytest, etc. C'est dur.

Cible

Faites en sorte que l'environnement de test de Vim soit agréable. En particulier...

Enquête

Pour le moment. Vérifiez les plug-ins de test. Tapez test dans le formulaire de recherche de Vim Awesome. Ensuite, je me rends compte qu'il existe de manière inattendue peu de solutions avec les plug-ins existants. Il n'y avait pas beaucoup de plug-ins de test eux-mêmes ... Y a-t-il beaucoup de gens qui le résolvent avec make?

vim-test Un plug-in appelé vim-test est sorti en haut. En outre, pytest.vim et [vim-python-test-runner](https://github.com/jarrodctaylor/vim-python-test- Il y avait des coureurs), mais après tout, seul vim-test répondait aux exigences.

Mise en œuvre des mesures

Bien qu'il s'agisse d'une enquête approximative, des mesures sont engagées pour l'instant

Vim-test introduit

Insco vim-test. Mon interprétation est que l'anglais n'est pas pratique

C'était un plug-in qui était facile à installer et qui avait beaucoup de personnalisation. Je me souviens de ALE.

Mettez-le pour le moment. Dakpawa dein.vim. Au fait, je gère tous les plug-ins toml.

[[plugins]]
repo = 'janko-m/vim-test'

Il existe cinq types de méthodes d'exécution de test comme suit. Pour plus d'informations ici

Faites un test et exécutez-le. Exécutez : TestFile Screen Shot 2017-08-12 at 3.55.53.png J'ai pu l'exécuter. Cependant, QuickFix ne l'est pas, et comme il ne peut pas faire défiler, le message d'erreur entier ne peut pas être suivi. Cela n'a pas de sens.

Affichage Quick Fix

Lisez vim-test README. Apparemment, si vous voulez sortir vers QuickFix, vous avez besoin d'un autre plug-in en tant que testeur. Par conséquent, l'auteur recommande Dispatch.vim.

Présentation de Dispatch.vim

Quand je l'ai recherché, c'était un plug-in très cool. En bref, c'est un plug-in pour exécuter le compilateur de manière asynchrone, mais il divise le processus d'exécution en écrans et l'affiche. De plus, c'est une spécification aimable qui détecte automatiquement l'environnement d'exécution et divise l'écran sans autorisation. Dans mon cas, c'est tmux & neovim. J'ai créé un volet tmux sans autorisation, je l'ai fermé lorsque j'ai terminé et j'ai sorti QuickFix.

Dein.vim encore. En outre, définissez explicitement Dispatch.vim en tant que coureur du côté vim-test.

[[plugins]]
repo = 'tpope/vim-dispatch'

[[plugins]]
repo = 'janko-m/vim-test'
depends = ['vim-dispatch']
hook_add = '''
let g:test#strategy = 'dispatch'
'''

Exécutez Mokkai : TestFile. Screen Shot 2017-08-12 at 4.28.18.png QuickFix s'affiche en toute sécurité. Cependant, errorformat n'a pas été appliqué à QuickFix. Vous ne pouvez pas sauter avec ça.

Paramètres du compilateur Python

Pour le moment, le format d'erreur de Python a été défini comme suit, mais il semble que cela ne sert à rien.

augroup MyErrorFormat
    autocmd!
    autocmd BufNewFile,BufRead *.py
        \ setlocal errorformat=%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m
augroup END

En regardant l'aide de Dispatch.vim, il semble que errorformat soit défini par défaut s'il n'y a pas de plug-in de compilateur pour l'exécuter.

:Dispatch[!] [options] {program} [arguments]
                        Find a compiler plugin that sets 'makeprg' to
                        {program} and use its 'errorformat' to dispatch a
                        |:Make| for the given {program} and [arguments].  If
                        no compiler plugin is found, the generic format
                        %+I%.%# is used.

Quand je me suis demandé ce que c'était, j'ai trouvé un plug-in comme celui-là.

Introduction de vim-compiler-python

vim-compiler-python semble être un plug-in qui regarde la source et gère les paramètres du compilateur au moment de l'exécution de : make. Je ne pense pas que ce soit vraiment bon, mais je suis épuisé alors je vais le vérifier plus tard.

Dein.vim encore.

[[plugins]]
repo = 'aliev/vim-compiler-python'

Exécutez Mokkai : TestFile. Screen Shot 2017-08-12 at 4.55.24.png

J'ai finalement atteint le niveau que je recherchais. vimrc Je n'ai pas joué avec, mais je suis fatigué.

Résumé des paramètres

Le paramètre ajouté cette fois ressemble à ceci. Pour être honnête, j'ai toujours des paramètres d'options de test et des paramètres de liaison de clé, mais je le referai la prochaine fois.

[[plugins]]
repo = 'tpope/vim-dispatch'

[[plugins]]
repo = 'janko-m/vim-test'
depends = ['vim-dispatch']
hook_add = '''
let g:test#strategy = 'dispatch'
'''

[[plugins]]
repo = 'aliev/vim-compiler-python'

Recommended Posts

Essayez de mettre en place un environnement de test Vim assez sérieusement (pour Python)
Comment configurer un environnement Python à l'aide de pyenv
Configurez un serveur SMTP de test en Python.
Configurer un environnement de développement Python sur Marvericks
Configurer un environnement de développement Python avec Sublime Text 2
Configurer pour Mac (Python)
Configurer un environnement de développement Python avec Visual Studio Code
Essayez d'ouvrir une sous-fenêtre avec PyQt5 et Python
Comment configurer WSL2 sur Windows 10 et créer un environnement d'étude pour les commandes Linux
Je souhaite configurer un environnement de développement GUI avec Python ou Golang sur Mac
Créer et tester un environnement CI pour plusieurs versions de Python
Essayez d'utiliser virtualenv qui peut créer un environnement virtuel de Python
Essayez de créer un environnement python avec Visual Studio Code et WSL
Créons un environnement virtuel pour Python
Je veux créer un environnement Python
[Mac] Création d'un environnement virtuel pour Python
Créer un environnement de développement Python pour le développement de l'IA
Ajouter un environnement virtuel Python à VSCode
Création d'un environnement virtuel pour Mayavi dédié aux utilisateurs de Python 3.6, Anaconda et Spyder
Points à surveiller lors de la création d'un environnement Python sur un Mac
Envoyez du courrier avec mailx à un serveur SMTP factice configuré avec python.
Essayez de résoudre un problème défini de mathématiques au lycée avec Python
Introduction et utilisation de la bouteille Python ・ Essayez de configurer un serveur Web simple avec une fonction de connexion
Configurer un serveur HTTPS simple avec Python 3
Calculons en fait le problème statistique avec Python
Je veux créer un bel environnement de développement Python pour mon nouveau Mac
Essayez de dessiner une courbe de vie avec python
Essayez de créer un code de "décryptage" en Python
Essayez de calculer RPN avec Python (pour les débutants)
Configurer un environnement Tornado pour Python dans Raspbian Jessie
Commandes pour créer un environnement python3 avec virtualenv
Procédure de création d'un environnement d'isolation Python (environnement venv)
Essayez de créer un groupe de dièdre avec Python
Comment configurer un serveur de développement local
Configurer un serveur SMTP simple en Python
Notes sur la création d'un environnement python par les débutants
Configurer l'environnement de développement TinyGo pour VS Code
Comment préparer l'environnement pour Google Colab avec le cours avancé d'apprentissage automatique de Coursera
Je veux configurer un serveur fictif pour python-flask en quelques secondes en utilisant swagger-codegen.
Script pour créer facilement un environnement de périphérique client pour AWS IoT (version Python v2)
Comment définir l'environnement de développement pour chaque projet avec VSCode + extension Python + Miniconda
De la configuration du Raspberry Pi à l'installation de l'environnement Python
Construire un environnement Python avec pyenv, pyenv-virtualenv, Anaconda (Miniconda)
Création d'un environnement de travail Docker R et Python
(Python) Essayez de développer une application Web en utilisant Django
Je veux écrire en Python! (2) Écrivons un test
Créez un environnement python pour chaque répertoire avec pyenv-virtualenv
Essayez de rechercher un profil d'un million de caractères en Python
Créez un plug-in pour exécuter Python Doctest avec Vim (1)
[Introduction à python] Introduction rapide à Python pour les programmeurs C ++ occupés
Comment créer un environnement Django (python) sur Docker
Procédure de création d'un environnement CDK sous Windows (Python)
Pour ceux qui veulent écrire Python avec vim
Comment créer un environnement de développement pour TensorFlow (1.0.0) (Mac)
Écrire du code dans UnitTest une application Web Python
Construction d'environnement Python pour les débutants en programmation (Mac OS)
Comment configurer et compiler l'environnement Cython
Mémo de construction d'environnement d'apprentissage automatique par Python