
著作权归作者所有。 商业转载请联系作者获得授权,非商业转载请注明出处。 作者:kimmking 链接:http://wwwzhihucom/question/27313846/answer/36132954 来源:知乎 说说我对UnitTest这种技术的看法,主要偏向于Java下的JUnit等测试技术。 单元测试是为了保障系统某些粒度,特别是最细节到方法的粒度上的正确性(狭义的单元测试)。通过详尽而适度的UnitTest case,可以在重构和修改代码时,保障不影响我们以前的代码(回归测试),也可以在实现具体业务之前写测试来保障开发时的迭代实现都是正确的(测试驱动开发),有时候也可以对比方法级别更高的层次做一次封装实现一定程度的(集成测试),有时候也可以实现对某些远程业务的集成测试(接口自动化测试),或者借助一些特定的库或技术实现对UI系统的功能测试(UI自动化测试)。 单元测试本身就是利用机器去执行测试,从而代替人工的测试或调试,节约程序员的时间和生命,并且可以做到常态化(结合项目质量和持续集成工具,Sonar、Hudson/Jenkins等),保障代码的(逻辑、边界等)正确性和系统质量。所以单元测试应该越简单越好。当体系比较庞大时,为了一个大流程中间的某个小零件能run起来,需要准备非常多这个点的测试环境不需要的东西,非脚本语言环境下的单元测试(比如java)可以结合Mock框架(Jmock,mockito,easyMock)使用,简单方便、不需要拖泥带水。复杂环境下的UnitTest,需要测试数据的准备、测试完成后的数据清理,特别要注意Test上下文环境的污染,从而影响测试的准确性。Spring下的UnitTest,可以使用SpringTest,对配置环境的管理,测试上下文的管理,事务的管理,都可以很好支持。对于远程方法或借口的测试可以用HttpUnit。WEB的自动化测试可以走Selenium或Tellurium。RCP的桌面程序,可以用SWTBot等等。。。有点跑题了。
以上就是关于高手大牛们都是怎么进行UnitTest的全部的内容,包括:高手大牛们都是怎么进行UnitTest的、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)