Redmineのプラグイン製作

Redmine3におけるインテグレーションテスト、UIテスト

投稿日:

インテグレーションテスト?UIテスト?

インテグレーションテスト、UIテスト、エンドツーテストetc.と呼ばれるテストは、実際のブラウザを使って振る舞いを確認するテストのことをいうぽい.その区別はよくわからない.
Redmine3のソースを読むと、それぽいテストは、integrationとuiのディレクトリに分かれている.
integrationテストの内容は、minitestを使ったActionDispatch::IntegrationTestのテスト、uiテストの内容はcapybara、seleniumを使ったテストになっている.
たぶんpluginのテストとかは、capybara、seleniumを使ったテストの方をやっておけばいいんじゃないかと思う.

インテグレーションテスト

test/test_helperで、ActionDispatch::IntegrationTestを承継して、Redmine::IntegrationTestを定義している.
内容は、log_user(name, password)でログインできるというメソッドを定義してるくらい.

UIテスト

UIテストでは、base.rbというファイルをtest_helper代わりに読み込んでいる.
self.use_transactional_fixtures = falseとかを設定して、Capybaraを使う準備をしている.
.travis.ymlを読むと、travisを使うときには、phamtomjsをport4444で立ち上げておいてから使うことを想定してるらしい.

pluginで同じように使う場合は、次のようにbase.rbを読みこめばOK.
そうすればCapybaraを使ったテストが書ける.
Gemfileに’poltergeist’を入れておいて、ドライバをpoltergeistにすることもできる

自分の場合は、rakeタスクでテストができるように、プラグインのtest/integrationにテストファイルをいれた.

-Redmineのプラグイン製作
-, , ,

執筆者:

関連記事

Redmineプラグインのviewを作るための情報あれこれ

By: amanderson2 – CC BY 2.0 目次1 環境2 サイドバーへの表示3 領域 box4 動作などの領域 contextual5 アイコン6 nodata7 テーブル8 …

Redmineプラグインで既存のモデルを修正する

By: Allen McGregor – CC BY 2.0 プラグイン インターナルを参考にした 目次1 Rubyのモジュール2 既存のモデルを拡張するRedmineプラグイン3 App …

Redmine2.5でプラグイン作成のチュートリアルやってみた4〜テスト

By: Beverly & Pack – CC BY 2.0 目次1 前回まで2 テストの設定3 データベースの準備4 テストの実行5 最初のテスト 前回まで Redmine2.5 …

Redmineプラグインでマイページにオリジナルのブロックを追加する

目次1 追加方法は簡単2 翻訳3 参考になるプラグイン 追加方法は簡単 app/views/my/blocks以下にパーシャルを作っておいておけばOK www.redmine.org/projects

Redmine2.5でプラグイン作成のチュートリアルやってみた

目次1 参考2 環境3 デベロップメント環境のRedmineを準備4 プラグインを作成5 init.rb6 モデルを作成する7 コントローラーを作成してみる8 ビューを作成9 ルートを作成10 動作確 …