Mobile 5‎ > ‎

Droidget Test Framework



Droidget Test Frameworkは、JUnitライクなDroidgetアプリのTest Frameworkです。

Testアプリの作り方


Testアプリは、src/caseディレクトリに配置します。Testアプリを追加したらlist.jsにファイル名を追加します。

assertEqualsを判定するTestアプリのサンプルで作成方法を解説します。

 no Test Noを記載します。
 type Test Typeを記載します。使用可能なタイプは下記の通りです。
  • assertEquals
  • assertNotEquals
  • assertTrue 
  • assertFalse
  • assertNotNull
  • assertNull
  • assertSame,
  • assertNotSame
 title Test Titleを記載します。
 errorMsg 結果がNGだった場合のメッセージを記載します。
 correctMsg 結果がOKだった場合のメッセージを記載します。
 arg1 引数1
 arg2                         引数2
 beforeRun テスト前に処理した内容を記載します。

test01.jsでは、assertEquarlsで、arg1とarg2の値を比較しています。
ファイルを作成する際には、ファイル名とfunction名を同じ名前にします。
test01.jsで保存する場合は、function test01(){ 〜 } にテスト内容を記載してください。


src/case/test01.js
function test01(){
this.no = "1";
this.type = "assertEquals";
this.title = "TEST1";
this.errorMsg = "NG";
this.correctMsg = "OK";
this.arg1 = "1";
this.arg2 = "1";
this.beforeRun = "";
}

src/case/list.js
var list = new Array("test01.js");

src/case/test02.js
function test02(){
this.no = "2";
this.type = "assertNotEquals";
this.title = "TEST2";
this.errorMsg = "NG";
this.correctMsg = "OK";
this.arg1 = "1";
this.arg2 = "2";
this.beforeRun = "";
}

src/case/list.js
var list = new Array("test01.js",
                     "test02.js"
                    );



Configの編集


<?xml version="1.0" encoding="UTF-8"?>
<widget id="DroidgetTestSuite_1281572348022" version="1.0" width="300" height="200">
    <content src="index.html" type="text/html"/>
    <name>DroidgetTestSuite</name>
    <description>The test suite of Droidget</description>
    <author url="http://www.gclue.com">GClue</author>
    <icon src="icon.png"/>
    <license>(C)2010 GClue K.K</license>
     <access uri="http://droidget.com" subdomains="true" />
</widget>

index.htmlの編集


index.htmlでは、DroidgetTestSuite.jsの読み込みと、Testアプリ一覧を列挙したlist.jsを読み込みます。

<script type="text/javascript" src="http://developer.droidget.com/api/DroidgetTestFramework.js"></script> 
<script type="text/javascript" src="case/list.js"></script> 

また、<body>〜</body>では、run()を呼び出すボタンと、load()を呼び出すボタンを用意します。

<input type="button" id="formBtn1" value="load" onclick="load()"/>
<input type="button" id="formBtn2" value="run" onclick="run()"/>

結果の表示はid=resultHtmlに行います。

<div id="resultHtml"></div>

src/index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <meta http-equiv="Content-Script-Type" content="text/javascript" />
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">

    <title>Droidget Test Suite</title>
    <script type="text/javascript" src="http://developer.droidget.com/api/DroidgetTestFramework.js"></script> 
    <script type="text/javascript" src="case/list.js"></script> 
</head>
<body>
    <input type="button" id="formBtn1" value="load" onclick="load()"/>
    <input type="button" id="formBtn2" value="run" onclick="run()"/>
    <div id="resultHtml"></div>
</body>
</html>

Testの実行

loadボタンを押すとTestケースが呼び込まれます。


runボタンを押すと、Testが実行されます。



各Testタイプの説明


assertEquals

引数: arg1, arg2

arg1とarg2が等しいかを判定します。

assertNotEquals

引数: arg1, arg2

arg1とarg2が等しくないかを判定します。

assertTrue 

引数: arg1

arg1がTrueかどうかを判定します。

assertFalse

引数: arg1

arg1がFalseかどうかを判定します。

assertNotNull

引数: arg1

arg1がNullではないかどうかを判定します。

assertNull

引数: arg1

arg1がNullかどうかを判定します。

assertSame

引数: arg1, arg2

arg1とarg2のObject型が一致しているかどうかを判定します。

assertNotSame

引数: arg1, arg2

arg1とarg2のObject型が一致していないかどうかを判定します。


Comments