FrontPage

Tag: MiniTest

目次

関連ページ

参考情報

基本

  • RubyのTestフレームワークの一つ。
  • BundlerやRailsではMiniTestが使われている。

命名規則

  • 先頭か末尾に"Test"を追加する。調べた感じ末尾派が多い?
  • テストの名前はBookTest
  • テストファイル名はbook_test.rb

テストの実行

  • 全てのテストを実行する場合
    bundle exec rake test

テストの種類

テストの名前英語名テストフォルダ役割
単体テストunit testtest/modelsメソッドごとのテスト
機能テストfunctional testtest/functional1つのコントローラーに含まれる複数のアクションをテスト
結合テストintegration testtest/integration複数のコントローラー同士のやりとりをテスト

コントローラーのテスト

  • Rails テスティングガイド | Rails ガイド
  • 以下の項目をテストする
    • Webリクエストが成功したか
    • 正しいページにリダイレクトされたか
    • ユーザー認証が成功したか
    • レスポンスのテンプレートに正しいオブジェクトが保存されたか
    • ビューに表示されたメッセージは適切か
  • scaffoldのサンプル。
    class ArticlesControllerTest < ActionController::TestCase
      test "should get index" do
        get :index
        assert_response :success
        assert_not_nil assigns(:articles)
      end
    end
    

Tips

Gemプロジェクトに後からMiniTestを追加する

  • Gemプロジェクトを作成しそれを参考にするのが早い
    bundle gem sampleapp -b --test=minitest
  • .gemspecファイル、Rakefile、test_helper等を移植すれば動くようになる。

特定のテストを実行

  • ファイル単位
    bundle exec rake test TEST=test/sample_test.rb
  • メソッド単位
    bundle exec rake test TEST=test/sample_test.rb TESTOPTS="--name=test_sample_2"

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-06-29 (金) 16:26:43 (203d)