新規作成 | 一覧 | RSS | FrontPage | 検索 | 更新履歴
[Calendar/When/Ruby/1.実行環境/1.環境準備/test] (前:1.環境準備|次:2.irb) (English)

test

<test>ディレクトリの test.rb は本ライブラリのユニットテストを行うスクリプトです。

minitestが使用できる環境であれば minitest/unit を、そうでなければ test/unit を用います。

テストの中には、JSON, TZInfo および google-api-client を必要とするものがあります。 test.rb は、これらのツールが利用できない場合は、動作しない項目を自動的にスキップします。

Ruby 1.8.4 で、これらをインストールしない環境で test.rb を実行した場合、以下のようになりました。

 $ ruby -Ku test.rb
 Tests for TZInfo have been skipped at line 113 of ephemeris.rb.
 Tests for TZInfo have been skipped at line 201 of icalendar.rb.
 Tests for TZInfo have been skipped at line 322 of icalendar.rb.
 Tests for TZInfo have been skipped at line 577 of icalendar.rb.
 Tests for TZInfo have been skipped at line 653 of icalendar.rb.
 Tests for TZInfo have been skipped at line 345 of tmposition.rb.
 Tests for GoogleCalendar have been skipped at line 61 of google_api.rb.
 Loaded suite test
 Started
 ..........................................................
 Tests for JSON have been skipped at line 354 of coordinates.rb.
 ..............
 Tests for TZInfo have been skipped at line 69 of ephemeris.rb.
 ................................................................................
 ....................................................
 Tests for TZInfo have been skipped at line 394 of tmobjects.rb.
 ............
 Tests for TZInfo have been skipped at line 326 of tmobjects.rb.
 ...........................
 Finished in 157.568 seconds.

 243 tests, 8187 assertions, 0 failures, 0 errors

google-api-client を用いて GoogleCalendar にアクセスするテストを行うには認証情報が必要です。

rubyにてgoogleカレンダーの情報を取得する」や「Windows7+Ruby+google-api-clientで、GoogleAPI向けOAuth認証用のYAMLファイルを取得する」などの記事により google-api.yaml (ファイル名の先頭の“.”は除去してください)などを取得して、 test.rb と同じディレクトリに配置してください。 google-api.yaml がない場合は、GoogleCalendarのテストを行いません。

Ruby 2.1.2 で、すべて実行できる環境を整えて test.rb を実行した場合、以下のようになりました。

 $ ruby test.rb
 Run options: --seed 45119

 # Running:

 ................................................................................
 ................................................................................
 ................................................................................
 ..........

 Finished in 82.907742s, 3.0154 runs/s, 100.0148 assertions/s.

 250 runs, 8292 assertions, 0 failures, 0 errors, 0 skips

現時点では、まだ十分な項目のテストを行うようになっていません。今後拡充予定です。