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

常德网站建设产品wordpress登陆美化

常德网站建设产品,wordpress登陆美化,中国设计师协会,邢台网红打卡地依赖注入是诸如Spring和EJB之类的Control容器反转的非常强大的功能。 将注入的值封装到私有字段中总是一个好主意。 但是#xff0c;自动连线字段的封装会降低可测试性。 我喜欢Mockito解决此问题以模拟自动装配字段的方式。 将在示例中进行解释。 #xff08;此博客文章希望… 依赖注入是诸如Spring和EJB之类的Control容器反转的非常强大的功能。 将注入的值封装到私有字段中总是一个好主意。 但是自动连线字段的封装会降低可测试性。 我喜欢Mockito解决此问题以模拟自动装配字段的方式。 将在示例中进行解释。 此博客文章希望您对Mockito语法有点熟悉但是它具有足够的自我描述性。 这是测试模块的第一个依赖项。 是Spring单例豆。 该类将在测试中被模拟。 Repository public class OrderDao {public Order getOrder(int irderId){throw new UnsupportedOperationException(Fail is not mocked!);} } 这是测试类的第二个依赖项。 它也是Spring组件。 该类将在测试中被侦听部分嘲笑。 其方法calculatePriceForOrder将保持不变。 第二种方法将被存根。 Service public class PriceService {public int getActualPrice(Item item){throw new UnsupportedOperationException(Fail is not mocked!);}public int calculatePriceForOrder(Order order){int orderPrice 0;for (Item item : order.getItems()){orderPrice getActualPrice(item);}return orderPrice;} } 这是正在测试的课程。 它自动装配上面的依赖项。 Service public class OrderService {Autowiredprivate PriceService priceService;Autowiredprivate OrderDao orderDao;public int getOrderPrice(int orderId){Order order orderDao.getOrder(orderId);return priceService.calculatePriceForOrder(order);} } 最后是测试示例。 它使用字段级别的注释 InjectMocks –实例化测试对象实例并尝试将用Mock或Spy注释的字段注入到测试对象的私有字段中 Mock –创建其注释字段的模拟实例 Spy –为带注释的字段实例创建间谍 public class OrderServiceTest {private static final int TEST_ORDER_ID 15;private static final int TEST_SHOES_PRICE 2; private static final int TEST_SHIRT_PRICE 1;InjectMocksprivate OrderService testingObject;Spyprivate PriceService priceService;Mockprivate OrderDao orderDao;BeforeMethodpublic void initMocks(){MockitoAnnotations.initMocks(this);}Testpublic void testGetOrderService(){Order order new Order(Arrays.asList(Item.SHOES, Item.SHIRT));Mockito.when(orderDao.getOrder(TEST_ORDER_ID)).thenReturn(order);//notice different Mockito syntax for spyMockito.doReturn(TEST_SHIRT_PRICE).when(priceService).getActualPrice(Item.SHIRT);Mockito.doReturn(TEST_SHOES_PRICE).when(priceService).getActualPrice(Item.SHOES);//call testing methodint actualOrderPrice testingObject.getOrderPrice(TEST_ORDER_ID);Assert.assertEquals(TEST_SHIRT_PRICE TEST_SHOES_PRICE, actualOrderPrice);} } 那么当您运行此测试时会发生什么 首先TestNG框架使用BeforeMethod批注并调用initMocks方法 此方法调用特殊的Mockito调用 MockitoAnnotations.initMocks(this) 来初始化带注释的字段。 没有此调用这些对象将为null 。 这种方法的常见错误是忘记了该调用。 当所有测试字段都填充有所需值时将调用test。 该示例不包括Spring上下文创建并且Spring的注释在这里仅作为针对生产代码使用的示例。 测试本身不包含对Spring的任何依赖关系并且会忽略其所有注释。 实际上可以使用EJB批注代替它也可以针对普通的非IoC管理的私有字段运行它。 开发人员倾向于将MockitoAnnotations.initMocks(this)调用视为不必要的开销。 但这实际上非常方便因为它可以重置测试对象并重新初始化模拟。 您可以使用它为例 当您使用相同的带注释实例的各种测试方法来确保各种测试运行不使用相同的记录行为时 使用重复/参数化测试时。 例如您可以将此调用包含在测试方法本身中并接收间谍对象作为测试参数作为测试用例的一部分。 结合TestNG DataProvider功能此功能非常性感将在其他博客文章中对此进行解释。 Spy注释对象可以通过两种方式创建 如果存在默认非参数化构造函数则由Mockito框架自动进行 或显式初始化​​例如当只有非默认构造函数时 InjectMocks注释的测试对象也可以显式初始化。 可以从GitHub下载示例源代码。 参考在http://lkrnac.net/博客上 使用Mockito模拟来自JCG合作伙伴 Lubos Krnac的自动连线字段 。 翻译自: https://www.javacodegeeks.com/2014/02/use-mockito-to-mock-autowired-fields.html
http://www.zqtcl.cn/news/196953/

相关文章:

  • 浏阳做网站网易企业邮箱注册官网
  • 东莞网站建设是什么意思自己怎么做企业网站建设
  • 免费的网站申请泰州网站整站优化
  • 毕业设计做企业门户网站过期域名网站
  • 网站建设和风险分析简单网页制作代码模板
  • 照片展示网站那个网站可以做攻略
  • 优秀网站设计赏析万网网站备案多久
  • 网站维护服务有哪些电商网站
  • 部门网站建设总结鼎城网站建设
  • 制作网站的模板下载大型商城购物平台开发
  • wordpress 分类文章置顶整站优化推广品牌
  • 网站手机验证码如何做官方网站在家做兼职
  • 东莞三合一网站制作网站建设 千助
  • 114网站做推广怎么样江苏建设培训网站
  • 如何让网站做网页适配网站上的产品五星怎样做优化
  • 怎么做网站排名优化免费jq网站模板
  • 源码时代培训机构官网自己建网站怎么做seo
  • 宜都网站制作济南比较大的网站制作公司
  • 怎么用电脑做网站主机假网站怎么制作
  • 网站 微信网络营销方案设计心得
  • 淘宝客 wordpress网站wordpress类似的工具
  • 农村建设房子建设网站建设渭南房产网站制作
  • php网站开发用什么win2008 iis 新建网站
  • 中山营销网站建设杭州网站建设开发有限公司
  • 被他人备案后做违法网站抖音seo推广
  • 手机网站广告代码南靖县建设局网站
  • 郑州网站建设智巢高德地图有外资背景吗
  • 网站开发常遇到客户问题wordpress怎么升级
  • 网站的空间是网站 建设 维护 公司
  • 关于网站建设的书籍网站设计的趋势