Wizard In The Market
システムトレードの魔術師

*

テスティングの基礎

公開日: : 最終更新日:2015/01/13 Ruby, Ruby ベストプラクティス

焦点をしぼったテスト

例外をテストする

assert_raises() で例外発生を確認
assert_nothing_raised() で例外が発生しないことを確認

のような形で、自作エラーをStandardErrorに登録できる。

テストケース全体を同時に実行する

分割したテストファイルも、Rakeを使えば簡単に行える

実行するコマンド

rake test

  1. テストケースをアトミックにしておくこと。もし複数のインターフェイスのある関数をテストしているなら、複数のテストを書こう。また、テストしたいエッジケースごとにテストを書こう。
  2. 関数の入出力をチェックするだけでは駄目だ。また、適切な条件で例外が投げられること、あるいは想定外に例外が投げられることのないことをテストするために、assert_raises()とassert_nothing_rised()を使おう。
  3. テストケースの実行を自動化するために、rakeタスクを使おう。そして、統合時に問題が入り込んだらすぐに確実に見つけられるよう、変更するたびにすべてのテストを実行しよう。テストを個別に実行すると問題を早期に発見できて、時間の節約になるかもしれないが、機能から機能へ転るときには、テストケース全体を実行することが重要だ。
にほんブログ村 為替ブログへ 
Fx-Kirin

About Fx-Kirin

2009年10月にFXを開始、翌年2010年5月から脱サラをしてFX業界に専念。 2012年10月頃から本格的に勝ち始め、一月で資産を倍にする、2年半月間負けなし等、安定した収支で2013年11月に生涯FX収支が1億を超える。 投資スタイルはシステムトレード。プログラミングの知識がほぼない状態から、独学で自分がしたいと思うことであればほぼ実現することが可能なレベルまで成長。好きな言語はRuby, Python。必要となればC++からVBA、Pascal等なんでも行う。MT4/MT5のプログラミングも得意。 2011年にはFXで稼いだ資金をもとにシンガポールに移住し、留学も兼ねて起業をチャレンジするほど、ビジネスを興すことに熱意がある。国内の業者を主に使い始めたことから、2012年に帰国。零細株式会社経営中。

Adsense

  • このエントリーをはてなブックマークに追加
  • Pocket
  • 67 follow us in feedly

関連記事

no image

gem i nokogiri が通らない時

sudo apt-get install libxml2-dev libxslt1-devを先にやること。

記事を読む

no image

Rubyでwin32oleを使えば、IEだって操作できちゃうとかそういう話。

http://d.hatena.ne.jp/takuya_1st/20091221/1261364439

記事を読む

no image

HashでArray#map!(collect!)のようなことを実現する

HashでArray#map!(collect!)のようなことを実現するhttp://d.hatena.ne.jp/a

記事を読む

no image

MozreplでHTML内のjavascriptを呼ぶ

ずっと困ってた。<javascript></javascript>の中身を弄りたいのに

記事を読む

no image

Railsの日本語化

前もやったけど、メモってなかったからメモhttp://hajimete-ruby.jugem.jp/?cid=7gem

記事を読む

no image

run rake task in controller

http://railscasts.com/episodes/127-rake-in-background

記事を読む

no image

test/unitを使おう

http://doc.ruby-lang.org/ja/1.9.2/library/test=2funit.html

記事を読む

no image

require と loadの違い

require は同じファイルは一度だけしかロードしませんが、 load は無条件にロードします。また、requir

記事を読む

no image

Rubyでバイナリファイルをいじる

記事を読む

no image

独自の例外を定義し発生させる

独自エラーには、Exceptionのクラスに追加する Exceptionクラスのサブクラスを定義するとユーザ独自の例

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Adsense

joblib によって謎のバグが起こる

joblib 0.14.1 にて確認.0.13.2 だと起こらない.import joblib を消

Fixing kernel error AMD-Vi: Event logged IO_PAGE_FAULT on Ryzen Machine

My pc was periodically shut down on 7:40 am JS

Ubuntu で仮想ディスプレイを使う

雑多な備忘録ですが、せっかくなので残しておきます。 Ubuntu 18.04 の resolv.c

PYPIへの登録を10秒でできるようになる方法

pip 使ってますよね Pythonを使っている人であれば、pip installでライブラリ

The art of debugging with GDB, DDD, and Eclipse の読書メモ

GDBの勉強がしたくて、下の本を原著で読んでみました。10年前の本だけど全然現役でした。

→もっと見る

PAGE TOP ↑