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