如何用PowerMockito 测试静态方法
来源:互联网 发布:三菱刺刀淘宝专卖店 编辑:程序博客网 时间:2024/05/17 23:45
package mock.demo;首先,我们写一个测试类DemoStaticTest.java, 如下:
public class DemoStatic {
public static String sayHello() {
return "Hello";
}
public static String saySomething(String word) {
return word;
}
public static void sayAgain() {
System.out.println(getMyWord());
}
private static String getMyWord() {
return "This is my word";
}
}
注意在类的前面要加这个annotation:@RunWith(PowerMockRunner.class)
@PrepareForTest({DemoStatic.class})
public class DemoStaticTest {
}
@PrepareForTest({DemoStatic.class})
其次,需要在你的项目中加入下面的maven依赖:
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.4.10</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.4.10</version>
</dependency>
- Mock 无参数的静态方法
@Test
public void testMockSayHello() {
PowerMockito.spy(DemoStatic.class);
PowerMockito.when(DemoStatic.sayHello()).thenReturn("my hello");
System.out.println(DemoStatic.sayHello()); // my hello
}
- Mock 带参数的静态方法
@Test
public void testSaySomething() throws Exception {
PowerMockito.spy(DemoStatic.class);
PowerMockito.when(DemoStatic.class, "saySomething", Mockito.anyString()).thenReturn("something to say!");
System.out.println(DemoStatic.saySomething("say hello")); //something to say!
}
- Mock private 静态方法
@Test
public void testMockPrivate() throws Exception {
PowerMockito.spy(DemoStatic.class);
PowerMockito.when(DemoStatic.class, "getMyWord").thenReturn("Nothing to say");
DemoStatic.sayAgain(); //Nothing to say
}
- 如何用PowerMockito 测试静态方法
- 如何使用powerMockito对静态方法测试(static)
- 如何用敏捷方法做测试?
- 介绍:如何用路径分析方法编写测试用例
- 如何用 Pytbull 测试 suricata?
- 如何用monkey测试IOS
- ab测试是什么?如何用ab测试
- 如何用动态网页生成静态网页
- 如何用asp生成静态html页面??
- 如何用动态网页生成静态网页?
- 如何用动态网页生成静态网页
- 如何用PHP输出静态页面?
- 如何用ASP生成静态Html文件
- 如何用ASP生成网页静态页面
- PHP如何用Smarty写静态登录
- 如何用FreeMarker生成静态页面
- 如何用Jekyll 搭建全静态博客
- 如何用Tomcat部署前端静态文件
- Python (2.6)常用的API
- 第一次使用博客记录学习生活------2017.7.9
- List Comprehensions (列表推导式)
- TensorFlow系列(2)——KNN算法实现
- Lambda 函数 (匿名函数)
- 如何用PowerMockito 测试静态方法
- #3DOM
- Restful Web Service
- JBoss7配置datasource
- SpringBoot可执行包结构
- awk分割字符
- Disable Maven的Test
- 敏捷教练辅导项目
- MapReduce 分布式计算框架详细介绍