Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

[小ネタ] 最近使っているvimからdockerコンテナ内でテストする方法

$
0
0

最近はneovimを使っている。neovim-qtが割と安定していて良い。
neotermとvim-testでテストを実行する。
direnv等で、プロジェクト毎に環境変数を指定し環境変数でコンテナ名を引っ張ってくる。コンテナ名はプロジェクト毎で大体固定になるはず。
コンテナ名があればdocker psで取ってきてdocker execに渡す、というコマンドのトランスフォーマーを定義する。springの有無はお好みで。

nnoremap [space]tn :TestNearest<cr>nnoremap [space]tf :TestFile<cr>let test#strategy ='neoterm'let test#ruby#rspec#executable ='rspec'function! DockerTransformer(cmd) abort
  if $APP_CONTAINER_NAME !=''let container_id = system('docker ps --filter name=$APP_CONTAINER_NAME -q')return'docker exec -t ' . container_id . ' spring ' . a:cmd
  elsereturn'bundle exec ' . a:cmd
  endifendfunctionletg:test#custom_transformations = {'docker': function('DockerTransformer')}
letg:test#transformation ='docker'

基本的にdockerはコンテナ立ち上げっぱなしで、zshを起動する様にしている。サーバープロセスは一回中に入ってから起動する。
そうしておかないとサーバープロセス再起動時にコンテナごと落ちて面倒。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>