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

*

assert集

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

全てのassertにおいて、失敗した場合は(指定した場合は)最後の引数の文字列をエラー時に表示する

assert(test, message = nil)

testが真であることを確認

assert_equal(expected, actual, message = nil)

assert_not_equal(expected, actual, message = “”)

expected と actualが一致することを確認

assert_no_match(regexp, string, message = “”)

検証する文字列 string の中に正規表現 regexp に一致するものがないことを確認

assert_nil(object, message = “”)

assert_not_nil(object, message = “”)

objectがnilであることを確認

assert_not_same(expected, actual, message = “”)

expectedとactualのオブジェクトが同一のものであること確認
Object#equal?の真偽によって判定

assert_raised(message = “”) { … }

assert_raised(klass1, klass2, …, message = “”) { … }

assert_nothing_raised(message = “”) { … }

assert_nothing_raised(klass1, klass2, …, message = “”) { … }

例外が発生されることの確認
klass1等が指定されている場合は、その指定された例外が発生することを確認

assert_thrown(message = “”) { … }

assert_nothing_thrown(message = “”) { … }

throwの発生を確認

build_message(head, template = nil, *arguments)

?使い方不明

[PARAM] head:
templateから作成するメッセージの前に表示する文字列を指定します。
[PARAM] template:
作成するメッセージのテンプレートを文字列で指定します。
[PARAM] arguments:
template 内の ‘?’ を置き換えるオブジェクトを配列で指定します。
[RETURN]
作成したメッセージをTest::Unit::Assertions::AssertionMessageのインスタンスで返します

assert_block(message = nil) { … }

自作assertionの作成用関数
ブロック内の戻り値が真であることを確認

mu_pp(obj)

objを読みやすい形に表示する(んだそう。。。)

まとめ

  • もし小さなプログラムに取り組んでいるなら、型通りのディレクトリ構造に頭を悩ましてはいけない。スクリプトがライブラリとしてロードでき、実行ファイルとして実行できるよう、お決まりの構文を使えば良い。
  • もしアプリケーションが大きければ、test/test_helpers.rbファイルにすべてのテストに必要な決まり文句やサポートコードを集めて重複をなくそう。
  • rezuire File.dirname(__FILE__), ‘test_helpers’
  • もしコードが複雑なことをたくさんしているように見えて、Test::Unitの組み込みアサーションでは間に合わないなら、単純なassert_block関数を使って独自のアサーションを作ろう

参考リンク

http://doc.ruby-lang.org/ja/1.9.2/class/Test=3a=3aUnit=3a=3aAssertions.html
http://doc.okkez.net/191/view/method/MiniTest=Assertions/i/assert
http://ruby-doc.org/stdlib-1.9.3/libdoc/test/unit/rdoc/Test/Unit/Assertions.html

にほんブログ村 為替ブログへ 
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

Sakura VPS Ubuntu 12.04 に Ruby on rails と PHP、 メールサーバ構築までまとめてみる。 その3

postfixのインストール http://www.kazutoyo.com/ubuntu/?page_id=279

記事を読む

no image

Rubyファイルのパスを取得したければ・・・

File.dirname(__FILE__)__DIR__は廃止されたそうな。

記事を読む

no image

ActiveRecordのカラム名でtypeはダメらしい。

typeとやっていたら怒られました。また、whereを使えばActiveRecordクラスの配列が返るので、配列を指定

記事を読む

no image

Ruportが動かない Ruby1.9

ベストプラクティスの本にはRuby 1.9を元に記述していると明記しているのに、肝心のサンプルプログラム上でRuby

記事を読む

no image

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

記事を読む

no image

Railsの日本語化

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

記事を読む

no image

CSVファイルをクォーテーションでくくる。

rubyでcsvを作る時にカラムをダブルクォートでくくったり、くくらなかったりhttp://kingyo-bachi.b

記事を読む

no image

Array.eachでインデックス番号も一緒に欲しい時のeach_with_index

なんでこれがリファレンスに載ってないんだろうっていう便利な関数 each_with_index (Enumerable

記事を読む

no image

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

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

記事を読む

no image

Send Mail with ActionMailer using Postfix and Openssl through SMTP

If you want to send Email with ActionMailer through smtp un

記事を読む

Message

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

Adsense

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

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

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

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

JupyterでボタンからJavascriptを実行して追加のアウトプットをさせない方法

Javascriptを実行するとアウトプットセルの行が増える これがとても面倒だった。上の

まだBokehで消耗してるの?これからはPandas-Bokehを使おうぜ

タイトルはあまり気にしないでください。全然、Bokehで消耗する価値があるとは思っています。ただ

SQLAlchemy のマイグレーションライブラリ Alembic を使ってみる。

SQLAlchemyの作者が作ったデータベースマイグレーションツール。個人的には、SQLAlch

→もっと見る

PAGE TOP ↑