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のプラグイン製作
-, , ,

執筆者:

関連記事

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

目次1 前回2 情報3 ViewHook4 フックの名称を調べる5 Redmine::Hook::ViewListenerを継承したクラスをつくる6 使いたいフックと同じ名称のメソッドを実装する7 i …

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

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

Redmine3でのテストあれこれ〜minitest

By: Pedro Ribeiro Simões – CC BY 2.0 目次1 RSpec or Minitest?2 Minitestの基本とか3 Redmine本体のユニットテストを …

Redmineでプロジェクトの一覧を表示するプラグインつくった〜projects_table

目次1 機能2 作った理由3 リポジトリ4 同名のプラグイン発見 機能 プロジェクトの一覧を表示する 期日が一番近いバージョンを表示する 最後に更新したチケットを表示する 期日が一番近いチケットを表示 …

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

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