Flash Professional CCでAsUnitを使ってActionScript 3をユニットテストする

もうどんなプログラミング言語でも、テストは自動化してしまわないと気がすまない体質になってしまったためか、ActionScript 3の勉強も、はじめにユニットテストの方法について抑えておくことにした。

ActionScript 3のユニットテストはAsUnitでできるようで、現在の最新バージョンであるFlash Professional CCでも動作することを確認した。

 

Unit Testing with AsUnitを参考にしてAsUnitの動作確認を行ったが、Unit Testing with AsUnitの記事ではFlash Professional CS3時代の情報であったのに対し、この記事では、Flash Professional CCでAsUnitを使ったユニットテストを行う手順についてまとめておいた。

テスト用プロジェクトを作成

プロジェクトを作成

まずはAsUnitの動作確認を行うための、ActionScript 3のプロジェクトを作成。

asunit01

 

studyAsUnit.flaのような名前で保存しておく。

asunit03

クラスを作成

ユニットテストのテストの対象となるサンプルクラス(ActionScript 3.0クラス)を作成し、サンプルコードを記述する。

これをBankAccount.asという名前でstudyAsUnit.flaと同じフォルダに保存しておく。

 

BankAccountのコードは上述した参考サイト:Unit Testing with AsUnitで紹介されているものをそのまま使わせて頂いている。

内容は銀行アカウントクラスで、depositメソッドが入金、withdrawメソッドが出金、getBalanceメソッドが残高照会の機能を提供するというもの。

 

このBankAccountクラスに対してAsUnitによるユニットテストを行う。

AsUnitをダウンロード

AsUnitのダウンロードは、AsUnitのサイトから、grab the frameworkのリンクをクリックしてダウンロードする。

ダウンロードしたファイルは適当なフォルダに展開する。

 

展開すると、as2、as25、as3のフォルダが作成されるが、Flash Professional CCでActionScript 3に対してのユニットテストを行うのであれば、as2フォルダとas25フォルダは不要で、実際に使用するのはas3フォルダのみとなる。

クラスパスを設定

適当な場所に展開したら、studyAsUnit.flaプロジェクトから、先ほどダウンロードして展開したAsUnitのフォルダへとクラスパスを通す。

studyAsUnit.flaのプロパティ → パブリッシュ設定 → レンチのマーク → ActionScript 3.0の詳細設定

ソースパスタブの「+」ボタンをクリックして、ダウンロードして展開したAsUnitの「as3\src」フォルダを指定追加する。

asunit04

これで、このプロジェクト(studyAsUnit.fla)からAsUnitを使うことができるようになった。

テストコードを記述

先ほど作成したBankAccountクラスのテストを行うBankAccountTestクラスを作成する。

ユニットテストのテストの対象となるサンプルクラス(ActionScript 3.0クラス)を作成し、サンプルコードを記述する。

これをBankAccountTest.asという名前でstudyAsUnit.flaと同じフォルダに保存しておく。

BankAccountTestのコードは上述した参考サイト:Unit Testing with AsUnitで紹介されているものをそのまま使わせて頂いている。

 

ユニットテストをしたことがある人にとってはお馴染みの形のテストコードが作成できたので、ここからはテストコードを実行する準備をしていく。

テストスイートを作成

テストを実行するためのテストスイートを作成する。

AllTestクラス(ActionScript 3.0クラス)を作成し、AllTests.asというファイル名で保存する。

 

少し解説しておくと、BankAccountTestのコンストラクタ引数にはテストを実行したいメソッド名を指定している。

BankAccountTestクラスのコードを書いていたときには何のために書いていたか恐らく分からなかったであろうコンストラクタのコードの意味が想像つくと思う。

テストを実行

テストの実行は、TestRunnerクラスの説明が参考になった。

 

studyAsUnit.flaのパブリッシュ設定で、クラス:MyProjectRunnerと記述し、隣の鉛筆マークをクリックする。

asunit05

 

するとMyProjectRunnerクラスが作成され、デフォルトのソースコードが表示されるので、これをテストを実行するためのコードに書き換える。

 

気をつける点は、継承コードがMovieClipからTestRunnerに変更するという点を(私が)忘れがちなため注意してほしい。

今回作成したMyProjectRunnerクラスはドキュメントクラスというもので、studyAsUnit.flvを実行したとき最初に実行されるエントリポイントになる。

 

これで準備は全て終了。

studyAsUnit.flaを実行(Ctrl + Enter)すると、BankAccountTestが実行される。

asunit06

 

グリーンのバーを見るとなんだか落ち着く。

コメントを残す

トラックバック: http://pgnote.net/wp-trackback.php?p=2858