2010-10-05 3 views
4

Il ya environ 6 mois, je suis passé de TextMate à MacVim pour l'ensemble de mon travail de développement, qui consiste principalement à coder en Ruby, Ruby on Rails et JavaScript. Avec TextMate, chaque fois que je devais exécuter une spécification ou un test, je pouvais juste commander + R sur le fichier de test ou de spécification et une autre fenêtre s'ouvrait et les résultats s'affichaient avec le format 'joli' appliqué. Si la spécification ou le test était long, je pourrais simplement continuer à travailler avec la base de code puisque le test/spec était exécuté dans un processus/une fenêtre séparé (e). Après le test, je pouvais cliquer directement sur les résultats de la ligne correspondante dans le fichier de spécifications.Comment puis-je exécuter des spécifications et/ou des tests Ruby dans MacVim sans bloquer MacVim?

L'excellent plugin rails.vim de Tim Pope est très proche de l'émulation de ce comportement dans l'environnement MacVim. En cours d'exécution: Rake lorsque le tampon en cours est un test ou spec exécute le fichier puis divise le tampon pour afficher les résultats. Vous pouvez naviguer à travers les résultats et la clé jusqu'à l'endroit correspondant dans le fichier.

Le problème avec l'approche de rails.vim est qu'il verrouille la fenêtre MacVim pendant que le test s'exécute. Cela peut être un problème avec les grandes applications qui pourraient avoir beaucoup d'installation/démontage intégré dans les tests. En outre, les résultats html visuels rouge/vert que TextMate affiche (via -format joli, je suppose) est un peu plus facile à analyser que la fenêtre fractionnée.

Ce mec est venu il y a environ 18 mois: http://cassiomarques.wordpress.com/2009/01/09/running-rspec-files-from-vim-showing-the-results-in-firefox/ Le script qu'il a travaillé avec un peu de piratage, mais les tests fonctionnaient toujours dans MacVim et fermaient la fenêtre actuelle.

Des idées sur la façon de répliquer complètement le comportement TextMate décrit ci-dessus dans MacVim?

Merci!

+0

Avez-vous envisagé d'utiliser autotest pour effectuer automatiquement vos tests? – Himanshu

+0

Oui, j'utilise autotest, mais personnellement, je trouve toujours que j'ai besoin du flux de travail que j'ai décrit ci-dessus, en particulier lorsque je travaille à travers certaines fonctionnalités qui ne touchent qu'un sous-ensemble de fichiers. – Henry

Répondre

1

Il existe un plugin appelé vim-addon-background-cmd qui peut vous permettre d'exécuter des tâches en arrière-plan au lieu de verrouiller l'interface vim. Vous devez créer l'appel pour exécuter la commande d'arrière-plan. Voir le docs pour plus d'informations sur la façon de le faire.

0

Il y a quelques mois, je cherchais exactement la même chose. Puis j'ai découvert autotest avec rspec. Maintenant, je garde une fenêtre de terminal séparée qui affiche mes derniers tests de course. Si je change des fichiers de code relavent mes tests sont automatiquement exécutés pour moi (les fichiers sont regardés et s'ils changent les tests).

Si vous voulez le même comportement de type autotest dans un projet non-rails, vous pouvez regarder le watchr gem. Sa fonctionnalité est similaire à autotest mais vous pouvez l'utiliser dans n'importe quel cadre.

Questions connexes