CFUnit使用法

【CFUNIT】

■環境構築

1.CFUnit 2.0 beta2をダウンロードし(http://cfunit.sourceforge.net)、解凍した『net』フォルダを
 C:\CFusionMX7\wwwroot\に配置する。

2.『CFUnitExample』(CFML)プロジェクトを作成する。
 ※プロジェクトの出力先は『C:\Inetpub\wwwroot\』に指定すること。

■ロジック、テストクラスの作成

1.『CFUnitExample』プロジェクトで下記のMyCFC.cfcを作成する。

<cfcomponent displayname="MyCFC">
  <cfproperty name="temp1" type="string">
  <cfproperty name="temp2" type="string">
 
  <cffunction name="init" returntype="MyCFC">
    <cfset VARIABLES.temp1 = 3>
    <cfset VARIABLES.temp2 = 2>
    <cfreturn THIS>
  </cffunction>
 
  <cffunction name="add" returntype="numeric">
      <cfreturn (VARIABLES.temp1 + VARIABLES.temp2)>
  </cffunction>
 
  <cffunction name="sub" returntype="numeric">
      <cfreturn (VARIABLES.temp1 - VARIABLES.temp2)>
  </cffunction>
</cfcomponent>

2.『CFUnitExample』プロジェクトで下記のMyCFCTest.cfcを作成する。

<cfcomponent displayname="MyCFCTest" extends="net.sourceforge.cfunit.framework.TestCase">
  <cfproperty name="tempCFC" type="MyCFC">
 
  <cffunction name="setUp" returntype="void" access="public">
    <cfset VARIABLES.tempCFC = CreateObject("component", "MyCFC").init()>
  </cffunction>
 
  <cffunction name="testAdd" returntype="void" access="public">
    <cfset result = VARIABLES.tempCFC.add()>
    <cfinvoke method="assertEquals">
      <cfinvokeargument name="expected" value="#numberFormat(5.0)#">
      <cfinvokeargument name="actual" value="#numberFormat(result)#">
    </cfinvoke>
  </cffunction>
 
  <cffunction name="testSub" returntype="void" access="public">
    <cfset result = VARIABLES.tempCFC.sub()>
    <cfinvoke method="assertEquals">
      <cfinvokeargument name="expected" value="#numberFormat(1.0)#">
      <cfinvokeargument name="actual" value="#numberFormat(result)#">
    </cfinvoke>
  </cffunction>

</cfcomponent>

3.『CFUnitExample』プロジェクトで下記のmytest.cfml(テスト起動用)を作成する。

<cfsilent>
  <cfsetting showdebugoutput="No">
  <cfset testClasses = ArrayNew(1)>
  <cfset ArrayAppend(testClasses, "net.sourceforge.cfunit.CFUnitExample.MyCFCTest")>
  <!--- Add as many test classes as you would like to the array --->
  <cfset suite = CreateObject("component", "net.sourceforge.cfunit.framework.TestSuite").init( testClasses )>
</cfsilent>

<cfoutput>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
  <title>Unit Test Example</title>
</head>

<body
<h1>CFUnit Test</h1>
<cfinvoke component="net.sourceforge.cfunit.framework.TestRunner" method="run">
  <cfinvokeargument name="test" value="#suite#">
  <cfinvokeargument name="name" value="">
</cfinvoke>


</body>
</html>
</cfoutput>

■テスト実行

1.プロジェクトで作成したcfcはC:\CFusionMX7\wwwroot\に配置する。
 (今回はC:\CFusionMX7\wwwroot\net\sourceforge\cfunit\CFUnitExampleに配置)

2.http://localhost/CFUnitExample/mytest.cfmlにアクセスすると、
 テストが実行されるのを確認する。

以上
最終更新:2007年01月15日 18:02
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。