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でユーザーの表示を苗字、名前の順にするプラグインをつくった〜redmine_japanese_user_format

By: Takashi .M – CC BY 2.0 目次1 内容2 補足 内容 プラグインというほどのものでもなくユーザーのフォームとインデックスを苗字、名前の順番にします. githu …

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

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

Selenium IDEからRubyのテストケースを書き出す

By: Kenny Louie – CC BY 2.0 目次1 Selenium IDE2 Selenium IDEのインストール3 Selenium IDEの立ち上げ方4 はじめてのSe …

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

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

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

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