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

有没有专门做线下活动的网站wordpress无法下载更新

有没有专门做线下活动的网站,wordpress无法下载更新,广告推广服务平台,物联网平台有哪些工作记录------单元测试 之前的工作中从来没有写过单元测试&#xff0c;新入职公司要求写单元测试&#xff0c; 个人觉得&#xff0c;作为程序员单元测试还是必须会写的 于此记录一下首次编写单元测试的过程。 首先引入单元测试相关的依赖 <dependency><groupId>…

工作记录------单元测试

之前的工作中从来没有写过单元测试,新入职公司要求写单元测试,
个人觉得,作为程序员单元测试还是必须会写的
于此记录一下首次编写单元测试的过程。

首先引入单元测试相关的依赖

       <dependency><groupId>org.mockito</groupId><artifactId>mockito-all</artifactId><scope>test</scope></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency>

其次创建test目录

在src目录下,创建与main同级的目录。
在这里插入图片描述
其中test/java目录下编写测试类
test/resources目录下放置测试所需要的配置文件。
在这里插入图片描述
test/java与main/java目录层级结构保持一致。
在这里插入图片描述
区别在于测试类以Test结尾。

测试类编写

@RunWith(MockitoJUnitRunner.class)
public class ATest {private static final Logger LOGGER = LoggerFactory.getLogger(A.class);@InjectMocksprivate A a;@Mockprivate B b;@Mockprivate C c;@Mockprivate D d;@Mockprivate E e;@Mockprivate F f;private H h = new H();@Testpublic void testGetType() {Enum type = a.getType();boolean equals = type.equals(Enum.SAVE);Mockito.when(d.d(Mockito.anyString(), Mockito.any(), Mockito.any())).thenReturn("123456789");AppLogUtil.info(LOGGER, "Enum.SAVE result:{}", equals);}@Beforepublic void init() {MockitoAnnotations.initMocks(this);f.setB("aaa");}

首先在文件头声明这是一个测试类:@RunWith(MockitoJUnitRunner.class)
这是一个A类的测试类,所以文件名为ATest。
@InjectMocks
作用是:注入mock
意味着在测试过程中进入A类时,A类中所涉及的引用都是有值的,不为null,指的是A类中的(B-F)。
@Mock:
就是模拟这个引用的依赖,用于Test类
@Before
执行@Test方法前,先执行的步骤,一般用于参数构建,以及mock注入:MockitoAnnotations.initMocks(this);这句话与@InjectMocks相结合使用,表明注入模拟A类。
@Test:
指的是拥有这个注解的方法就是测试方法,通过这个方法对A类中的具体方法进行测试,而方法名一般为“test方法名”。需要传递参数的话,就需要先构建对应的参数。
而由于A类中涉及到了很多依赖的调用,此时我们也需要mock返回参数,使得流程能正常的跑下去。
由此能够看出,单元测试只针对当前一个方法的逻辑,不会延伸到引用调用的方法。
当遇到其他引用的方法调用时,也需要mock,比如执行到D类的d方法,就需要Mockito.when(d.d(Mockito.anyString(), Mockito.any(), Mockito.any())).thenReturn(“123456789”);根据这个语句能够看出,d方法需要三个参数,该方法需要几个参数,就传入几个参数。thenReturn代表模拟的返回值。

问题:如果在A类中,调用B引用的select方法,两次,一次返回null,一次返回有值,应该怎么操作?

答案:

Mockito.when(B.select(Mockito.anyString())).thenReturn(null).thenReturn(dto);
通过两次thenReturn方法,第一次则会返回第一次thenReturn的结果,第二次会返回第二次thenReturn的结果
此时dto需要自行new

http://www.yayakq.cn/news/962843/

相关文章:

  • 湛江专业的建站软件企业淘宝网站备案
  • 罗湖公司网站建设国家城乡建设网站
  • 福州推广企业网站想做淘宝 网站怎么做
  • 免费网站建设工具网站如何做关键词seo
  • 广东省建设工程监督站官方网站网店运营计划
  • 网站动态海报效果怎么做的wordpress安全防范教程
  • thinkphp 网站设置功能怎么找到那个网站
  • 怎么建设一个淘宝客网站谁知道网络司网站
  • 河南省住房城乡建设厅网站首页深圳浪尖工业设计公司
  • 免费网页代理ip地址网站广安网站建设哪家好
  • 网站开发工程师的职务手机建设网站的目的
  • 专门做网站建设的公司做网站字体大小
  • asp.net3.5网站开发实例教程跨境电商交易平台
  • wordpress境外支付四川seo推广方案
  • 建筑设计网站网址深圳华强北怎么了
  • 网站模板制作步骤做网站的需求是吗
  • 宁波网站推广报价深圳网站设计山东济南兴田德润电话
  • 湖南省建设银行网站wordpress log 信息
  • 做网站麻烦吗 天堂中文在线官网
  • 网站 缓存什么时候使用定制网站建设服务
  • 目前网站开发主要有哪些工具深圳机械网站建设
  • 网站后台别人制作广州在线网页制作工具
  • 用帝国cms做视频网站深圳 网站建设公
  • 19年做网站还能赚钱营销推广方案设计
  • 网站建设费用表格中国万网是做什么的
  • 网站建设关键的问题是汕头网站设计怎么做
  • 做短视频的能跟几个网站签约注册城乡规划师协会
  • 长沙建站挺找有为太极济宁seo公司
  • 怎么用dw建设自己的网站做网站不备案
  • 株洲做网站上海电子门户网站建设数据