您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > junit
用StrutsTestCase测试Struts
作者:网络转载 发布时间:[ 2013/2/18 14:04:15 ] 推荐标签:

现在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,编译运行一下看看测试结果
为了让 ant 支持 junit 任务,应把 junit.jar 复制到<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,里面写着测试结果,如测试有问题,可在这查看错误信息

正常的情况已经测试通过了,现在来看看错误的情况,写一个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 的简单使用我们已经看过了,和junit 基本相同,很简单

上一页123下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd