Adobe
製品
Creative Suiteファミリー
Photoshopファミリー
Acrobatファミリー
Flash Platform
Digital Marketing Suite
Digital Enterprise Platform
Digital Publishing Suite
その他の製品一覧
ソリューション
コンテンツオーサリング
教育
金融機関
デジタルマーケティングソリューション
その他のソリューション
ラーニング サポート ダウンロード 会社情報
ご購入
アドビストア安心のサポート& サービス
アカデミック版のご購入学生、教職員、個人
ライセンスのご購入企業、教育機関、官公庁
販売パートナー
検索
 
情報 サインイン
ようこそ、 カート 注文状況 ユーザー登録
マイアカウント
サインアウト
サインインの目的 お客様のアカウントや体験版ダウンロード、製品の拡張機能、コミュニティエリアへのアクセスなどを管理するため
Adobe
製品 セクション   検索  
ソリューション 会社情報
サポート ラーニング
サインイン ようこそ、 注文状況 ユーザー登録
Qty:
Subtotal
Checkout
Adobe Developer Connection / Flexデベロッパーセンター /

Flex 4 マスターシリーズ #11 FlexUnit 4

著者 有川 榮一氏

有川 榮一氏
  • Arikawa Eiichi

作成日

24 May 2010

ページ ツール

Facebookでシェア
Twitterでツイート
LinkedInでシェア
ブックマーク
印刷

Tags

必要条件

ユーザーレベル

すべて

必要な製品

  • Flash Builder 4 (Download trial)

その他の要件

サンプルファイル(fxp形式 / 25KB)

Flex 4 マスターシリーズ 連載記事一覧

  • #01 MXML 2009
  • #02 Flash Builder 4 新機能
  • #03 Flex 4 ステート
  • #04 Flex 4 CSS
  • #05 Spark コンポーネント
  • #06 データ中心型開発(DCD)Part1
  • #07 Spark Skining part 1
  • #08 Spark Skining part 2
  • #09 Flex 4 エフェクト
  • #10 Flex 4 Spark Layouts
  • #11 FlexUnit 4
  • #12 データ中心型開発(DCD)Part2

はじめに

このチュートリアルでは、Flash Builder 4で新たに追加されたFlexUnitテスト統合について紹介します。

Flash Builder 4は、FlexUnitのバージョンを指定することが可能ですが、このチュートリアルでは、FlexUnit 4を利用します。

FlexUnit 4

ユニットテスト(単体テスト)は、ソフトウェアの品質を保つために重要性が高いものになっています。そのためにFlexやActionScript用のユニットテストフレームワークとして、FlexUnit 4がhttp://docs.flexunit.orgで公開されています。
FlexUnit 4は、Javaのユニットテストフレームワークとして有名な「JUnit 4」ライクなメタデータを使ったテストクラスの作成に対応しています。また、非同期処理のテストにも対応しているので、外部連携やイベントに対するテストを柔軟に記述できます。

Flash Builder 4 のFlexUnitテスト統合

Flash Builder 4は、FlexUnitテストの作成や実行や共有を容易に行えるように次のような新しい機能があります。

  • テストケースとテストスイート作成
    Flash Builder 4のクラス生成ウィザードに従って、テストケースクラスとテストスイートクラスを作成し、テスト用のスタブコードを生成できます。また、次の4つのプロジェクトに対して、FlexUnit 4のテストケースクラスおよびテストスイートクラスを作成できます。
  • Flex プロジェクト
  • ActionScript プロジェクト
  • Flex ライブラリプロジェクト
  • AIR プロジェクト
  • テスト実行
    Flash Builder 4では、テストケースおよびテストスイートを実行することが出来ます。そして、その結果をFlexUnit 結果ビューに表示します。
  • テスト結果
    FlexUnit 4結果ビューでは、テスト結果とテスト失敗の詳細が表示されます。また、テスト設定や結果のファイルへの書き出しや読み込みに対応しています。

FlexUnitテスト統合::テストケース作成

テストケースは、次の手順で作成できます。FlexUnit 4テストを作成して実行するプロジェクトがFlash Builder 4で既に作成されているものと仮定しています。

1) プロジェクト名をクリックします。

2) メニューの[File] > [New] > [テストケースクラス]をクリックします。

または、プロジェクトや既存のファイルのコンテキストメニューの[New] > [テストケースクラス]をクリックします。[テストケースクラス]をクリックすると[新規テストケースクラス]ウィザードが始まります。

3) [新規テストケースクラス]ウィザードの最初の画面では、FlexUnitのバージョン選択とテストケースクラスのソースフォルダとパッケージと名前を入力します。また、テストするクラスがない場合は、[Finish]ボタンを押下してウィザードを終了し、テストケースクラスを作成します。

図1 新規テストケースクラスウィザード
図1 新規テストケースクラスウィザード

SimpleTest.as:生成されたテストケースクラス。このクラスにテストコードを書いていきます。

package flexUnitTests { public class SimpleTest { [Before] public function setUp():void { } [After] public function tearDown():void { } [BeforeClass] public static function setUpBeforeClass():void { } [AfterClass] public static function tearDownAfterClass():void { } } }

次に、テストするクラスがある場合は、[テストするクラスを選択]をチェックして参照からテストするクラスを選びます。または、2)でActionScriptやMXMLのコンテキストメニューから[新規テストケースクラス]ウィザードをはじめた場合は、そのクラスが、テストするクラスになります。

図2 クラスファイルを指定した時の新規テストケースクラスウィザード
図2 クラスファイルを指定した時の新規テストケースクラスウィザード

4)テストするクラスを選択した場合は、[Next]を押下して、テストするメソッドを選択します。

図3 テストするメソッドを選択する画面
図3 テストするメソッドを選択する画面

最後に[Finish]ボタンを押下してウィザードを終了し、テストケースクラスが生成されます。

AdditionLogicTest.as:生成されたテストケースクラス。このクラスにテストコードを書いていきます。

package sampele.logic { import flexunit.framework.Assert; public class AdditionLogicTest { [Before] public function setUp():void { } [After] public function tearDown():void { } [BeforeClass] public static function setUpBeforeClass():void { } [AfterClass] public static function tearDownAfterClass():void { } [Test] public function testAdd():void { Assert.fail("Test method Not yet implemented"); } } }

FlexUnitテスト統合::テストスイート作成

テストスイートとは、テストケースクラスとそれらのクラスに指定されたメソッドおよびその他のテストケーススイートを利用した一連のテストを定義したクラスです。

テストスイートは、次の手順で作成できます。FlexUnit 4テストを作成して実行するプロジェクトが既にあり、テストケースクラスが作成されているものと仮定しています。

1) プロジェクトをクリックします。

2) メニューの[File] > [New] > [テストスイートクラス]をクリックします。

または、プロジェクトや既存のファイルのコンテキストメニューの[New] > [テストスイートクラス]をクリックします。[テストスイートクラス]をクリックすると[新規テストスイートクラス]ウィザードが始まります。

3) [新規テストスイートクラス]ウィザードの画面では、FlexUnitのバージョン選択とテストスイートクラスのソースフォルダとパッケージと名前を入力します。そして、スイートに含めるテストクラスとメソッドを選択します。最後に[Finish]ボタンを押下してウィザードを終了し、テストスイートクラスを作成します。

図4 新規テストスイートクラスウィザード
図4 新規テストスイートクラスウィザード

CalculationAllTest.as:生成されたテストスイートクラス

package sampele.logic { import sampele.logic.AdditionLogicTest; import sampele.logic.SubtractionLogicTest; [Suite] [RunWith("org.flexunit.runners.Suite")] public class CalculationAllTest { public var test1:sampele.logic.AdditionLogicTest; public var test2:sampele.logic.SubtractionLogicTest; } }

FlexUnitテスト統合::テスト実行

FlexUnit 4のテストケースやテストスイートは、次のような手順で実行します。いずれの場合でも、テストの結果は FlexUnit の結果ビューに表示されます。

・テストケースクラスを実行する場合
テストするテストケースクラスのコンテキストメニューの[FlexUnitテストの実行]をクリックします。

・テストスイートを実行する場合
テストするテストケースクラスのコンテキストメニューの[FlexUnitテストの実行]をクリックします。

図5 FlexUnitテスト実行:コンテキストメニュー
図5 FlexUnitテスト実行:コンテキストメニュー

・FlexUnit結果ビューからの実行
一度実行したテストは、FlexUnit結果ビューのメニューから再度実行できます。

図5-1 FlexUnitテスト実行:FlexUnit結果ビューメニュー
図5-1 FlexUnitテスト実行:FlexUnit結果ビューメニュー

FlexUnitテスト統合::テスト結果

FlexUnitテストを実行したテスト結果は、FlexUnit結果ビューに表示されます。FlexUnit 結果ビューには、テスト結果パネル(左)とテスト失敗の詳細パネル(右)で構成されています。

テスト結果パネルには、テストで実行されたすべてのテストがリストされて、成功したか失敗したかが示されます。リスト内のテストをダブルクリックすると、ActionScript エディターでそのテストに移動できます。

テスト失敗の詳細パネルには、テスト結果パネルでテストを選択した失敗の詳細を表示します。
失敗の詳細の各リストには、失敗した行番号などとともに、ソースファイルとメソッドが表示されます。
ソースファイルが作業用スペースのローカルファイルであれば、リストをダブルクリックすると、ActionScript エディター内の失敗した場所へ移動します。

FlexUnit結果ビュー
図6 FlexUnit結果ビュー

FlexUnitテスト統合::FlexUnit 結果ビューのメニュー

・テスト結果パネルの表示フィルター
テスト結果が失敗のみを表示することが出来ます。

テスト結果パネルの表示フィルター
図7 テスト結果パネルの表示フィルター

・テスト設定のファイルへの書き込みと読み込み
書き込みするには、右端の▽をクリックして、[保存]>[設定を保存]をクリックします。

図8 テストの設定を保存
図8 テストの設定を保存

読み込みするには、[テストを実行]のボタンメニュー▼を開いて、[FlexUnitテストを実行]をクリックして、[FlexUnitテストを実行]ダイアログを表示します。

図8-1 テストを実行ボタンメニュー
図8-1 テストを実行ボタンメニュー

そして、[読み込み]ボタンをクリックしてファイルダイアログで設定ファイルを指定して読み込みます。また、このダイアログでは、実行したいテストをカスタマイズすることができ、それを保存と読み込みすることもできます。

図8-2 FlexUnitテストを実行ダイアログ
図8-2 FlexUnitテストを実行ダイアログ
図8-3 FlexUnitテストを実行ダイアログに設定を読み込み
図8-3 FlexUnitテストを実行ダイアログに設定を読み込み

・テスト結果のファイルへの書き込みと読み込み
書き込みするには、右端の▽をクリックして、[保存]>[結果を保存]をクリックします。
読み込みするには、右端の▽をクリックして、[保存済みの結果を開く]をクリックし、ファイルダイアログで結果ファイルを選択します。

図9 テストの結果を保存・読み込み
図9 テストの結果を保存・読み込み

おわりに

今回のチュートリアルでは、FlexUnit 4とFlash Builder 4で新たに追加されたFlexUnitテスト統合について紹介しました。Flash Builder 4とFlexUnit が統合したことで、FlexとActionScriptのコードに対して、FlexUnitテストの作成や実行や共有し易くなったことに気づけたと思います。そして、Flash Builder 4では、反復テストが容易に行えるので品質の向上かつ生産性の向上にもつながると思います。

また、FlexUnit 4についての詳しい機能については、http://docs.flexunit.org/を参照して下さい。

製品

  • Creative Suiteファミリー
  • Photoshopファミリー
  • Acrobatファミリー
  • Flashプラットフォーム
  • Digital Marketing Suite
  • Digital Enterprise Suite
  • Digital Publishing Suite
  • モバイルアプリ

ソリューション

  • カスタマーエクスペリエンスマネジメント
  • コンテンツオーサリング
  • デジタルマーケティング

業種別ソリューション

  • 教育
  • 金融機関

サポート

  • ヘルプ&サポート
  • 注文と返品
  • ダウンロードに関するヘルプ
  • ユーザー登録に関するヘルプ

ラーニング

  • ADC: Adobe Developer Center
  • Adobe TV
  • Design Magazine
  • Photoshop Magazine
  • Focus In

ご購入方法

  • アドビストア
  • アカデミック版のご購入
  • ライセンスのご購入

ダウンロード

  • Adobe Reader
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player

会社情報

  • プレスルーム
  • パートナープログラム
  • 企業の社会的責任(英語)
  • 採用情報
  • 投資家の皆様へ(英語)
  • イベント&セミナー
  • Legal(英語)
  • お問い合わせ
国・地域および言語の選択 日本(変更)
国・地域および言語の選択 閉じる

North America

Europe, Middle East and Africa

Asia Pacific

  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States

South America

  • Brasil
  • Africa - English
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Česká republika
  • Danmark
  • Eastern Europe - English
  • Eesti
  • España
  • France
  • Deutschland
  • Hrvatska
  • Ireland
  • Israel - English
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • Magyarország
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Österreich - Deutsch
  • Polska
  • Portugal
  • România
  • Россия
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Slovenija
  • Slovensko
  • Srbija
  • Suomi
  • Sverige
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • Pacific - English
  • 台灣

Southeast Asia

  • Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam - English

Copyright © 2012 Adobe Systems Incorporated. All rights reserved.

当Webサイトをご利用のお客様は、利用条件およびプライバシーポリシー(2011年9月30日更新)にご同意いただいたものとみなされます。

Reviewed by TRUSTe: site privacy statement