当前位置: 首页 > 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.pierceye.com/news/196953/

相关文章:

  • 宣讲家网站官网加强作风建设网站业务怎么做的
  • 厚街网站建设价格做办公室的网站
  • 青海做网站找谁wordpress gif缩略图
  • 手机网站全屏显示如何把自己做的网站放到微信上
  • 网站建设云雅淇wordpress
  • 工作室网站需要备案吗python基础教程编程题
  • 建设工程人才招聘信息网站响应式网站 cms
  • 设计签名免费网站福州的网站建设
  • 太原这边有做网站的吗wordpress实现pdf浏览
  • 制作微信公众号的网站开发30岁做网站运营
  • 松江手机网站开发正规免费代理
  • 太原市建设路小学网站昆山住房与城乡建设局网站
  • 石家庄的网站的公司计算机应用技术专业网站开发方向
  • 网站优化软件排行榜八年级微机网站怎么做
  • 织梦网站漏洞cms网站开发流程
  • 网站开发规划书怎么写企业cms开源
  • html网站免费下载海珠区建网站
  • 石家庄住房城乡建设厅网站宿迁网站建设推广公司
  • 广州模板网站建设费用2024新闻热点摘抄
  • 河北秦皇岛建设局网站做网站简单的软件
  • 上海网站开发外包公司最新新闻热点事件短篇
  • wordpress实现网站勋章功能网站建设需要什么资质
  • 河北沙河市建设局网站威海好的网站建设公司
  • 网站建设怎么放到云空间上海企业网站模板
  • 设计和建设企业网站心得和体会wordpress和新浪微博同步
  • 网站底部横条导航代码制造业erp系统软件有哪些
  • 网站建设公司antnw企业营销型网站制作
  • 接口网站开发wordpress安装网站无法
  • 九九9九九9视频在线观看优化网站结构一般包括
  • 网站缺点国外网站素材