RSpecのインストールとEmacsへの設定
なんか前回の逆ポーランド記法のプログラムがだめだめなのでテストするためにRSpecを使ってみる。
まずはgemでRSpecをインストールする。
%sudo gem install rspec
あとはEmacsへの設定
rspecはruby-mode.elとsnippet.el,mode-compile.elが必要みないなので
snippet.elと、mode-compile.elをダウンロードして~/elispに入れる
※snippetの設定はgoodpic.comさんの記事を参考に設定
あとは.emacsに以下の記述を追加
(require 'snippet) ;; snippet.el で、addrev に定型文を追加する (add-hook 'ruby-mode-hook '(lambda () (setq-default abbrev-mode t) ;; abbrev-mode をon (snippet-with-abbrev-table 'local-abbrev-table ("pu" . "puts") ) )) (require 'rspec-mode)
これで設定は完了のはず。
早速RSpecで逆ポーランド記法のプログラムテストを書いてみる。
前回のやつと同じディレクトリにCalc_spec.rbを作成
んで、以下を記述
#!/usr/bin/ruby # -*- coding: utf-8 -*- require 'Calc' describe Calc, "で計算してみる" do it "1 + 1 = 2 であること" do @calc = Calc.new @calc.do_it("1 + 1").should == 2 end it "5 + 4 * 3 + 6 / 2 = 20 であること" do @calc = Calc.new @calc.do_it("5 + 4 * 3 + 2 / 6 ").should == 20 end it "2 * (1 + 1) = 4であること" do @calc = Calc.new @calc.do_it("2 * (1 + 1)").should == 4 end it "(1 + 1) * (1 + 1) = 4であること" do @calc = Calc.new @calc.do_it("(1 + 1) * (1 + 1)").should == 4 end it "(1+1)*(1+1)=4であること" do @calc = Calc.new @calc.do_it("(1+1)*(1+1)").should == 4 end end
※ちゃんとdescとかit でtab押したら補完されるか確認 >> OK
ちなみにテスト結果はほとんどためだったのでちゃんと直しました。
あとはZenTestとかと組み合わせたいけどまた今度。