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

德州网站制作公司仁怀市城乡建设网站

德州网站制作公司,仁怀市城乡建设网站,自己做的网站图片打开慢,网站建设官方商城介于日本的形式主义junit4单体测试,特记笔记,以下纯用手机打出来,因为电脑禁止复制粘贴。 pom文件 powermock-module-junit1.7.4 powermock-api-mokcito 1.7.4 spring-test 8 1,测试类头部打注解 RunWith(PowerMockRunner.class…

介于日本的形式主义junit4单体测试,特记笔记,以下纯用手机打出来,因为电脑禁止复制粘贴。

pom文件

powermock-module-junit1.7.4

powermock-api-mokcito 1.7.4

spring-test  8

1,测试类头部打注解

@RunWith(PowerMockRunner.class)

@PrepareForTest({xxx.class,xxxx.class})

2,分情况讨论

举例:

public class IBExecIF

{

public ResultInformation Reflect(String finCode,String fileName){

A a=this.getA();


B b=new B(a.getSendFolder(),a.getFinName()));

b.load();

String bData=b.getData();


try{

this.http.send(session,str,str,MethodInfo);

}catch(MyException e){}

catch(Exception ex){}


String str=IBExecUtils.getProperty("xxx");

 

}

private void getA(){}

 

}

 

 

(1)测试某public方法,mock被测试类的私有方法

比如getA

首先测试类样子如下:

@RunWith(PowerMockRunner.class)

@PrepareForTest({IBExecIF.class})

public class IBExecIFTest{

@InjectMocks

private IBexecIF ibExecIF;

//mock用

private IBexecIF mockIBExecIF;

@BeforeClass@AterClass略

@Before

public void setUp() throws Exception{

MockitoAnnoations.initMocks();//必须有

}

@Test

public void testIBExecIF_001 extends Exception{

A mockA=new A(xxx,xxx,xxx);

mockIBExecIF=PowerMockito.spy(ibExecIF);

PowerMockito.doReturn(mockA).when(mockIBExecIF,"getA");

 

//调用被测试类公有方法

ResultInformation result=mockIBExecIF.Reflect(xx,xx);

assertEquals();

}

(2)测试某public方法,mock被测试类的私有方法,有参数,无返回值

修正为(后面继续接参数即可)

PowerMockito.doNothing().when(mockIBExecIF,"getA",anyString(),any());

(3)测试某public方法,mock方法中调用其他类的构造函数及其方法(以公有为例)

测试类头部加入@PrepareForTest({IBExecIF.class,B.class})

 

B mockB=PowerMockito.mock(B.class);

PowerMockito.whenNew(B.class).withAnyArguments().thenReturn(mockB);

PowerMockito.when(mockIBExecIF.getData()).thenReturn("testData");

若为无参构造,且是无返回值的方法

PowerMockito.whenNew(B.class).withNoArguments().thenReturn(mockB);

PowerMockito.doNothing().when(mockIBExecIF,"load");

 

(4)测试某public方法,该方法中调用了成员变量(可以是类),的某个方法(与3不同,变量声明在方法外)


以类为例,测试类头部加入@PrepareForTest({IBExecIF.class,HttpConnecter.class})
HttpConnecter mockH=PowerMockito.mock(HttpConnecter.class);
//把mock的值赋值回类
Whitebox.setInternalState(mockIBExcecIF,"http",mockH);
PowerMockito.when(mockH.send(any(),anyString(),anyString(),any())).thenReturn("testData");

(5)测试某public方法,该方法中调用了其他类的static方法(比如工具类),mock该static方法

测试类头部加入@PrepareForTest({IBExecIF.class,IBExecUtils.class})

PowerMockito.mockStatic(IBExecUtils.class);

Mockito.when(IBExecUtils.getProperty(anyString())).thenReturn("test");

 

3,对变量进行mock

public class IBExecIF{

private String finCode;

}

(1)在测试类中设置公有类中的private成员变量

注意:此时不可通过mock的形式得到被测试类的实例,只能正常new

 

mockIBExecIF=new IBExecIF();

Field field=IBExecIF.class.getDeclaredField("finCode");

field.setAccessible(true);

filed.set(mockIBExecIF,"test");

 

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

相关文章:

  • 网站建设开发费用怎样入账动漫设计的就业前景
  • 强企网做网站资海网络一年做多少网站
  • 苏州知名网站建设开发功能型网站有哪些
  • 最大的网站建设公司排名wordpress手机iOS
  • 网站建设话术关键词房屋室内装修设计
  • 自贡市规划建设局网站一个公司可以备案两个网站
  • 高端品牌网站设计欣赏中铁建设集团有限公司招聘
  • 襄樊建设网站南京米雅途做网站如何
  • 外贸建站网站公司郑州三附院不孕不育科专家
  • 怎么才能建立一个网站卖东西成都百度推广公司地址
  • 金华seo建站用台式机做网站服务器
  • 长沙网站建设做得好的scala网站开发
  • 我的文档上传到网站 做链接潍坊昌乐县城乡建设局网站
  • 公司网站的管理和维护郑州汉狮做网站费用
  • 宜昌市住房和城乡建设官方网站未备案网站查询
  • 网站开发质量管理凡科建站多少钱
  • 商丘给企业做网站的公司平面设计专业网站
  • 音乐播放器网站怎么做wordpress php淘宝客模版
  • 钓鱼网站代做做衣服视频有些什么网站
  • 做服装哪个网站图片多安庆公司做网站
  • 深圳做网站大公司建筑公司网站案例
  • 龙口建网站首选公司wordpress做官网
  • 大连网站建设选高合科技网络服务器无响应可能原因
  • 辽宁营销型网站建设三亚网站开发
  • 淄博网赢网站建设php源代码做网站
  • 迁安做网站中的cms润强网站外部链接怎么做
  • 打开自己的网站是别人的域深圳福田公司有哪些
  • 响应式网站 英语企业主页怎么做
  • 蓝色的包装材料企业网站模板一个网站可以设多少关键词
  • 沧州营销型网站建设企业如何注册网站