您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
用StrutsTestCase測試Struts
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/2/18 14:04:15 ] 推薦標簽:

現(xiàn)在TestLoginAction 是這樣:

import servletunit.struts.*;

public class TestLoginAction extends MockStrutsTestCase {
public TestLoginAction( String testName ){ super( testName ); }
public void testSuccessfulLogin() {
setRequestPathInfo( "/login" );
addRequestParameter( "username", "deryl" );
addRequestParameter( "password", "radar" );
actionPerform();
verifyForward( "success" );
assertEquals("deryl",(String) getSession().getAttribute("authentication"));
verifyNoActionErrors();
}
}


寫ant,編譯運行一下看看測試結(jié)果
為了讓 ant 支持 junit 任務(wù),應(yīng)把 junit.jar 復(fù)制到<ANT_HOME>的lib 下

<project name="strutstest" default="test" basedir=".">
<property name="src.home" value="${basedir}/src"/>
<property name="classes.home" value="${basedir}/war/WEB-INF/classes"/>
<property name="lib.home" value="${basedir}/war/WEB-INF/lib"/>

<target name="compile">
<javac srcdir="${src.home}" destdir="${classes.home}" debug="on">
<classpath>
<fileset dir="${lib.home}">
<include name="*.jar"/>
</fileset>
</classpath>
</javac>
</target>

<target name="test" depends="compile">
<junit printsummary="yes">
<classpath>
<pathelement location="${classes.home}"/>
<fileset dir="${lib.home}">
<include name="*.jar"/>
</fileset>
</classpath>

<formatter type="plain"/>
<test name="TestLoginAction"/>
</junit>
</target>

</project>


運行后可以看到一切正常,而且在項目的根目錄下自動生成 TEST-TestLoginAction.txt,里面寫著測試結(jié)果,如測試有問題,可在這查看錯誤信息

正常的情況已經(jīng)測試通過了,現(xiàn)在來看看錯誤的情況,寫一個testFailedLogin :

public void testFailedLogin() {
//setConfigFile("struts-config.xml");
addRequestParameter( "username", "deryl" );
addRequestParameter( "password", "deryl" );
setRequestPathInfo( "/login" );
actionPerform();
verifyForward( "login" );
verifyActionErrors( new String[]{"error.password.mismatch"} );
}


StrutsTestsCase 的簡單使用我們已經(jīng)看過了,和junit 基本相同,很簡單

上一頁123下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd