一种新的单元测试的方法
作者:网络转载 发布时间:[ 2011/10/31 14:11:00 ] 推荐标签:
而且这个也不会太费时,因为插件能够根据TestedBy的注释来只运行很少的测试类,即那些已经修改过的类/方法对应的测试类。
而且,运行测试类,能够得到一些清楚的报告比如:
Java代码
1. "ClassUnderTest.methodUnderTest shouldThrowExceptionWithNullParameter doen‘t pass"
或者更好的:
Java代码
1. "Failure: methodUnderTest in ClassUnderTest doesn‘t throw exception with null parameter, but it should!"
当然,你能够拒绝这种针对类/方法名称 (如果你想的话)提供的便利,自己从整个工程中去找那些测试类,根据需要自己来测试。
当然针对所有的类来运行所有的测试类也是可能的,你的测试也能够在Junit上运行,因为TestedBy是基于Junit测试的。
一些特点
让我列举在我心中TestedBy的特点吧:
1、第一个可能是没有价值的,但是也是有用的:在你的IDE中,你能够导航你的源代码到对应的测试代码。这个特性将在eclipse4.4的时候发布,它能够根据类名称导航,即使类名处在一个字符串中。当然,这只是一个开始,一个专门的eclipse插件将被开发用来导航代码,以及被测试代码的测试代码树形结构,针对打开/修改的类(见第3点)执行测试代码,等等。我不是一个eclipse开发的大师,因此非常欢迎哪位能够在这方面做出贡献。
2、你将在你的java文档中找到这些注释,考虑这是一个多好的事情,如果你使用BDD方式开发,定义测试方法形如 shouldNotAcceptNull()或者shouldThrowsExceptionIfEmpty等等。使用BDD方法,事实上你能够定义和检查约束,通过使用TestedBy的注释,在JavaDoc文档中把这些展示给你的API用户。
3、你能够从被测试类开始运行测试,而不是测试类。我在之前说过这些了。
4、通过接口和约束的设计。我已经在上文中专门介绍了这些。
5、测试类自动生成。一个工具(ant,maven,或者eclipse工具)能用我们的TestedBy注释来生成测试类。见6点。
6、Ant /maven 任务/插件来从被测试类运行测试,这个工具将管理并平稳的使用(用来保证测试类和注释间的同步将很重要):
A. 反转引擎:从存在的测试类开始,添加TestedBy注释到被测试类中。
B. 从TestedBy注释中开始运行测试类,来验证他们能运行所有的测试,并且没有注释指向不存在的测试。
C. 从注释开始生成(空的)测试类和方法。
当然,这还不够,但是,我想这能给你一个想法。我现在正在做这些想法背后的事情,但是我需要在把他们呈现给社区之前把它们设计得更好。
Conclusions总结
你对这个方法有兴趣吗?让我知道你的想法,并且跟你的朋友分享这个帖子…我能从这个帖子得到越多的反馈,我能更好的做好它。
现在问题是..目前这个项目的状态是什么?
你可以看一下project homepage on javalinuxlabs. googlecode 上面,你可以在svn下面找到一些类。这不是这个工程的第一次实现…它差不多是这个想法的证明。但是,我们需要更努力的工作来让它更快的派上用场。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11