quickrunを使って編集中のrspecを実行する
quickrun.vimを使ってvimで編集中のrspecを実行する方法のメモ
Vim-users.jp - Hack #172: RSpecをquickrunする (1/2):
Vim-users.jp - Hack #176: RSpecをquickrunする (2/2)
let g:quickrun_config = {} " specファイル全体を実行する場合 "let g:quickrun_config['ruby.rspec'] = {'command': 'rspec'} " カーソルがある行のspecを実行する場合 let g:quickrun_config['ruby.rspec'] = {'command': 'rspec', 'cmdopt': "-l {line('.')}"} augroup RSpec autocmd! autocmd BufWinEnter,BufNewFile *_spec.rb set filetype=ruby.rspec augroup END
出力内容をカラー表示したかったので「-c」オプションも追加してみたが、出力内容には変わらなかった。
RSpecで標準出力の内容をテストする
標準出力される内容をテストする内容を調べたところ、素晴らしいエントリーを見つけたので忘れないようにメモ
# -*- coding: utf-8 -*- require "rspec" class Target def some_method(msg) print msg end end # this method is written by wycats def capture(stream) begin stream = stream.to_s eval "$#{stream} = StringIO.new" yield result = eval("$#{stream}").string ensure eval("$#{stream} = #{stream.upcase}") end result end describe "Object#capture" do before(:each) do @target = Target.new end it do capture(:stdout) { @target.some_method("test") }.should == "test" end end
全く同じような内容の質問が Rails Best Practice にも載っていたのでそちらもメモ
クエリキャッシュを確認・削除する
MySQLでクエリキャッシュの確認をするには以下のコマンドを実行する
mysql> show status like 'Qcache%' -> ; +-------------------------+----------+ | Variable_name | Value | +-------------------------+----------+ | Qcache_free_blocks | 1 | | Qcache_free_memory | 16768408 | | Qcache_hits | 24 | | Qcache_inserts | 168 | | Qcache_lowmem_prunes | 0 | | Qcache_not_cached | 25 | | Qcache_queries_in_cache | 0 | | Qcache_total_blocks | 1 | +-------------------------+----------+ 8 rows in set (0.00 sec) mysql>
削除する時は
mysql> reset query cache;
コマンドの実行時間を計測する
昨日の記事で、データのインポートに掛かる時間を計るために
/home/shizm% date /home/shizm% コマンド /home/shizm% date
と実行して、画面に表示される時間を目で見て処理時間を計算していた。
何ともかっこ悪い
最低でも
/home/shizm% date;コマンド;date
普通は
/home/shizm% time コマンド
と実行する。