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

執筆者:

関連記事

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

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

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

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

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

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

RedmineプラグインにWiki機能をつける

By: Cambodia4kids.org Beth Kanter – CC BY 2.0 目次1 環境2 フォーム3 表示4 プレビュー 環境 Wiki機能というよりは、Redmineの …

Redmineでユーザーの表示を苗字、名前の順にするプラグインをつくった〜redmine_japanese_user_format

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