当前位置: 首页 > news >正文

一家只做直购的网站/网站运营主要做什么

一家只做直购的网站,网站运营主要做什么,国内特效比漂亮的网站,在哪制作一个简单的网页在我以前一篇文章关于spring的文章中仔细讨论过spring单元测试策略,根据最近一些经验。今天再写一点自己的经验: 1.需要把单元测试时不需要的东西拿掉,比如缓存,安全等,这就需要怎么仔细考虑spring的applicationConte…

在我以前一篇文章关于spring的文章中仔细讨论过spring单元测试策略,根据最近一些经验。今天再写一点自己的经验:

1.需要把单元测试时不需要的东西拿掉,比如缓存,安全等,这就需要怎么仔细考虑spring的applicationContext.xml功能。

2.DAO与Service的测试需要使用不同的策略,一般来讲,DAO单元测试只测试一个DAO类,而service需要多个DAO来支撑,有时还需要别的service支持。因此需要为DAO与service分别定义两个基类。DAO一般不需要使用事务,因此DAO测试基类继承AbstractDependencyInjectionSpringContextTests;而service需要,Service测试基类继承AbstractTransactionalDataSourceSpringContextTests

3.那怎么简化开发人员编写单元测试类呢?若每次都需要写很多,那他们自然不愿意写,所以架构师应该简化单元测试的编程模型上下功夫。一个原则:每个人只添加自己想要的,必要时可以覆盖全部的配置文件,完全自己来写,下面是我写的两个测试基类的demo


DAO测试基类

  1. publicabstractclassAbstractDAOTestCaseextends
  2. AbstractDependencyInjectionSpringContextTests{
  3. publicAbstractDAOTestCase(){
  4. this.setAutowireMode(AUTOWIRE_BY_NAME);
  5. }
  6. @Override
  7. protectedString[]getConfigLocations(){
  8. String[]baseConfigs=newString[]{"/spring/applicationContext.xml"};
  9. String[]extentConfigs=getExtentConfigs();
  10. intlength=baseConfigs.length+extentConfigs.length;
  11. String[]allConfigs=newString[length];
  12. for(inti=0;i<baseConfigs.length;i++){
  13. allConfigs[i]=baseConfigs[i];
  14. }
  15. for(inti=0;i<extentConfigs.length;i++){
  16. allConfigs[i+baseConfigs.length]=extentConfigs[i];
  17. }
  18. returnallConfigs;
  19. }
  20. //开发人员可以覆盖这个方法,添加自己的配置文件
  21. protectedString[]getExtentConfigs(){
  22. returnnewString[]{};
  23. }
  24. }

Service测试基类

  1. publicabstractclassAbstractServiceTestCaseextends
  2. AbstractTransactionalDataSourceSpringContextTests{
  3. protectedUserDAOuserDAO;
  4. publicAbstractServiceTestCase(){
  5. this.setAutowireMode(AUTOWIRE_BY_NAME);
  6. }
  7. @Override
  8. protectedString[]getConfigLocations(){
  9. String[]baseConfigs=newString[]{"spring/applicationContext.xml",
  10. "spring/applicationContext-transaction.xml",
  11. "org/codehaus/xfire/spring/xfire.xml",
  12. "spring/applicationContext-xfire.xml",
  13. "spring/applicationContext-osworkflow.xml",
  14. "spring/platform/*.xml"};
  15. String[]extentConfigs=getExtentConfigs();
  16. intlength=baseConfigs.length+extentConfigs.length;
  17. String[]allConfigs=newString[length];
  18. for(inti=0;i<baseConfigs.length;i++){
  19. allConfigs[i]=baseConfigs[i];
  20. }
  21. for(inti=0;i<extentConfigs.length;i++){
  22. allConfigs[i+baseConfigs.length]=extentConfigs[i];
  23. }
  24. returnallConfigs;
  25. }
  26. //开发人员可以覆盖这个方法
  27. protectedString[]getExtentConfigs(){
  28. returnnewString[]{};
  29. }
  30. publicvoidsetUserDAO(UserDAOuserDAO){
  31. this.userDAO=userDAO;
  32. }
  33. }
http://www.jmfq.cn/news/4979395.html

相关文章:

  • 织梦中英文网站源码/怎么注册网址
  • 网站建设在会计里算什么资产/军事新闻头条最新消息
  • 上海网站建设机构/厦门百度开户
  • 网站优化怎么做的/邯郸网站建设优化
  • 深圳最好的营销网站建设公司/怎样做好服务营销
  • 网站建设与维护实验心得/百度如何搜索网址
  • 网站代运营服务内容有/南宁网络推广外包
  • 建设网站工作内容/广告点击一次多少钱
  • 临沂网站建设价格/天津seo标准
  • 龙岩北京网站建设/第三方平台推广
  • 360云主机可以建设网站吗/seo外链网
  • 太原网站建设维护/最常用的几个关键词
  • 浏阳市网站建设/站长素材网
  • 潍坊网站建设SEO优化/足球比赛直播2021欧冠决赛
  • 做sorry动图的网站/最新全国疫情实时大数据
  • 傲派电子商务网站建设总结/怎么创建网站赚钱
  • wordpress用redis/seo如何快速排名
  • 做五金出口在哪个网站好点/系统优化的方法
  • 做网站小程序/百度下载免费安装到桌面
  • wordpress rss采集插件/抖音seo是什么意思
  • 什么是我的wordpress/广东网站se0优化公司
  • 长春做网站要多少钱/百度公司招聘岗位
  • 凡科网站怎么做外链/排名网
  • 做多个网站 买vps/怎么seo关键词优化排名
  • 百家号权重查询站长工具/网站开发用什么语言
  • 软件技术方案范例/南京seo全网营销
  • 工程公司组织架构/百度seo提高排名费用
  • 用什么软件快速做网站/外链网盘源码
  • 做网站一般需要哪些文件夹/seo赚钱方法大揭秘
  • 重庆 机械有限公司 沙坪坝网站建设/简述影响关键词优化的因素