Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
人工智能
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
更多话题
用Cactus来测试EJB,Servlet
02-08-22
浆糊
这个如果补充道板桥的教程中,那就更全面了 :)
http://www.developersbus.com/webpm/jwiki/jwiki.jsp?topic=用Cactus来测试EJB,Servlet
banq
2002-08-22 21:26
这是个好东东,不错
banq
2002-09-01 13:25
好像你投到IBM去了,今天才发现。恭喜
http://www-900.ibm.com/developerWorks/cn/java/l-Cactus/index.shtml
浆糊
2002-09-02 09:35
:)
呵呵。。是啊。多提意见
banq
2002-09-02 10:20
我在实践中发现,最困难的测试和调试在于流程中,就是说,前台Jsp的几个页面组成一个流程,就象你的工作流,后台在每个流程要做很多事情,而且后面一个流程的数据是依赖前面一个流程的数据,这样,就很难象你在文中一样自己制造插入用户名的数据,这些数据是前面流程动态产生的。
不知道cactus对于这样的测试是如何处理的。
浆糊
2002-09-02 18:59
测试是面向接口的,而不是流程。我们要测试的是我们的公开接口的准确性,如果你的流程控制有专门的类来做,那么当然也可以测试这个控制类,只要针对它的public interface
banq
2002-09-03 09:42
问题是这个控制类是由用户来控制的。这种情况在复杂系统里很多,特别是一些创建过程,一个用户在创建过程中,会根据自己的需要选择不同的参数,导致到下一步的结果都不一样。
浆糊
2002-09-03 10:12
Junit,cactus都是单元测试工具,针对的测试对象是public interface,保证单元功能的健壮性。如果你的类这些public interface都测试通过的话,当然数据是需要创建的,那么他们之间的协作只是参数是否正确的问题了。
banq
2002-09-03 11:21
每个单元正确了,但是当这些单元协同工作了,还会不正确,有这样的情况,这是因为你在单元测试不可能穷举所有的数据去测试单元,而一个单元的输出的结果可能是随机的,这些结果一旦作为下个单元的输入参数,就可能导致下个单元运行出错。
这种情况一旦发生,我们会很郁闷,看来cactus是帮不了忙,还得我在现场运行时加入system.out一个个数据跟踪。
浆糊
2002-09-03 16:25
为什么结果是随机的?
banq
2002-09-03 17:52
比如
某个单元输入参数有a和b,它的输出结果就很多,几乎是随机的。
if
a==1 && b==1 这是一个结果
if
a==2 && b==1 这是一个结果 ..... <p
class
=
"indent"
>
a和b是上一个单元的结果,我如果能预测的话将是很累的一件事情,但是如果使用cactus,它就逼迫我去预测出来a和b的可能组合,累不累?呵呵
还不如,架上现场,跟踪system.out.println(a+b);
这只是一个例子,a和b可能还是逻辑判断。
浆糊
2002-09-03 20:29
呵呵。。这个倒是个问题。不过你用system.out也一样不能全部都测试,如果能,为什么用cactus不行。如果用cactus,那么测试将是自动的,在重构的时候可以很好的保障代码地准确性。
banq
2002-09-03 21:37
用system.out可以追踪数据,这个功能对于测试非常重要。
就是设置断点。
Java程序测试