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

執筆者:

関連記事

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

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

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

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

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

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

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

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

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

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