Jusqu'à présent, lors du codage avec vim, la même opération était effectuée en répétant "** Ecrire le code, → Exécuter le test unitaire **", mais le test unitaire est exécuté au moment de l'enregistrement du fichier. Je l'ai rendu possible.
Enregistrez-le en l'affichant dans un autre volet tel qu'un autre tmux comme indiqué dans la capture d'écran ci-dessus. Vous pouvez voir le résultat de l'exécution du test unitaire pour le moment.
qiita.rb
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import datetime
import time
import os
from stat import *
import commands
import fnmatch
def watch(dir, command, extension):
timestamp = time.mktime(datetime.datetime.now().utctimetuple())
while True:
for root, dirnames, filenames in os.walk(dir):
for filename in fnmatch.filter(filenames, '*' + extension):
file = os.path.join(root, filename)
file_timestamp = os.stat(file)[ST_MTIME]
if timestamp < file_timestamp:
timestamp = file_timestamp
print "Executing..."
print(commands.getoutput(command))
break
#Attendez 100 millisecondes
time.sleep(0.1)
def help():
print(u'Le premier argument est le répertoire à surveiller.')
print(u'Le deuxième argument est une commande à exécuter en cas de modification du fichier surveillé.')
print(u'Le troisième argument est l'extension')
print(u'Exemple: % dirwatch . \'phpunit\' \'php\'')
print(u'Dans l'exemple, bonjour s'affiche en cas de modification du fichier dans le répertoire courant.')
if __name__ == '__main__':
#Afficher l'aide lorsqu'il n'y a pas assez d'arguments.
if 4 > len(sys.argv):
help()
else:
watch(sys.argv[1], sys.argv[2], sys.argv[3])
% wget https://gist.github.com/matsubo/4992894/raw/36c0c4a08953effabfa2731ccd5186f2d6c92347/dirwatch.py
% chmod 755 dirwatch.py
% ./dirwatch.py [Répertoire de destination de la surveillance des fichiers] [Commande à exécuter lorsque le fichier est modifié] [Extension de fichier surveillée]
% ./dirwatch.py /path/to/sourcecode/ phpunit php
% ./dirwatch.py /path/to/sourcecode/ "phpunit Tests/UserRegistrationTest.php" php
Comme indiqué ci-dessous, le test unitaire est exécuté au moment où le fichier est enregistré. Il est très bon de développer d'abord avec test, de diviser la fenêtre avec screen ou tmux et de l'afficher tout le temps.
Recommended Posts