StrutsTestCase是测试Struts的基于junit的框架。
到目前为止,并不是所有的Struts框架的各个版本都支持。至少到目前,它根本不支持Struts2。
关于StrutsTestCase的介绍就不多说了,有兴趣看看官网有很详细的介绍。
本章文章主要针对像我一样,第一次接触StrutsTestCase,并且有一种习惯,就是先运行示例的朋友们。
需要注意的第三方jar包:
junit3.8.2 struts-1.3.10 这两个很关键,看看人家官网写的很清楚,到目前就支持到junit和struts相对的”最新“版本。
下面列出框架中附带的示例说明文件README.txt中的具体内容(非原版,我做了一些对自己变成有意义的标示。
=========================================================
虽然说官方版本的说明不用太多怀疑,但由于各自的环境大相径庭,所以里面附属了一些原文没有指出的依赖包的列表。
里面的路径是我自己的电脑jar包路径,在编译运行时我需要在java -cp 中指定这些值,所以这些对你基本没用。
+========================================================):
如README.txt中说到的,需要指定一些jar包在classpath环境变量里。(我用java -cp 加上里面的注释路径替代了,毕竟,我只是想试验下StrutsTestCase.:-))
开始实际动手:
将里面的test.war包解压,在命令提示符中,进入解压后的test/WEB-INF/classes目录,
执行
(cp 后的参数部分,如果你已经设置到classpath,就直接去掉-cp以及后面的路径参数即可)
在我的环境里,出错:提示缺少几个包:具体错误信息如下:
继续跟踪错误
继续跟踪:
到现在为止,模拟方法测试基本成功。虽然最后还是有因为不是期望值的测试失败。但我相信只要修改一下期望值,或者直接替换struts的版本到1.2之前,就不会有问题。
最后总结下关键点:原框架附带的示例里面的代码应该属于示例的源码部分,我们只有在需要对类做修改的时候才拿出来重新编译,比如我在替换saveErrors为saveMessages方法时就这样编译过
之后,执行运行的路径应该在classes目录下。
祝君愉快~