`

mockito模拟静态方法

 
阅读更多
这里要用到使用powerMock
注意点:
1 @RunWith(PowerMockRunner.class)
2 PowerMockito.mockStatic(StaticTest.class);


package com.eyu.ahxy.module.staticd;

import static org.hamcrest.Matchers.equalTo;
import static org.junit.Assert.assertThat;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.modules.junit4.PowerMockRunner;

@RunWith(PowerMockRunner.class)
public class StaticTest {

	@Test
	public void test1() {
		PowerMockito.mockStatic(StaticTest.class);
		PowerMockito.when(StaticTest.static1()).thenReturn("static");
		String result = StaticTest.static1();
		assertThat(result, equalTo("static"));
	}

	public static String static1() {
		return "test1";
	}

}




powmock的maven依赖:

<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.6.1</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.6.1</version>
<scope>test</scope>
</dependency>
0
3
分享到:
评论

相关推荐

    利用PowerMock模拟静态方法和私有方法的示例

    本文将详细介绍如何利用PowerMock来模拟静态方法和私有方法,以便进行有效的单元测试。 PowerMock是一个强大的Java单元测试框架,它可以扩展其他流行的测试框架,如JUnit和TestNG。它的核心功能之一就是能够模拟...

    MockNewsNStatics:使用Mockito静态和构造函数调用进行测试的其他方法

    Mockito 提供了 `mockStatic` 方法来模拟静态方法。使用这个方法,你可以指定静态方法在被调用时返回的值,或者设定特定的参数匹配器来决定何时返回特定的值。例如: ```java import static org.mockito.Mockito.*;...

    power mockito学习资料

    PowerMockito是一个强大的Java单元测试框架,它扩展了其他如EasyMock等mock库的功能,能够模拟静态方法、构造函数、final类和方法、私有方法,甚至静态初始化器。这使得开发者能够在单元测试中隔离被测试对象,不受...

    使用PowerMock来Mock静态函数

    PowerMock是一个强大的扩展工具,它可以与Mockito、EasyMock等主流Mock框架结合,允许我们模拟静态方法、构造器、final类和方法、删除静态初始化器等。 标题“使用PowerMock来Mock静态函数”指的是如何利用...

    Mockito常用方法.pdf

    Mockito 提供了许多实用的方法来模拟对象的行为,以便在测试中 isolating 依赖项。 Mockito 的基本使用 要使用 Mockito,首先需要添加 Maven 依赖项: ```xml &lt;groupId&gt;org.mockito &lt;artifactId&gt;mockito-all ...

    Mockito Cookbook

    11. **Mocking static methods**:Mockito 3.4.0及以上版本开始支持静态方法的模拟,这对于测试依赖于静态方法的代码非常有帮助。 12. **Mockito annotations**:通过注解如`@Mock`、`@Spy`、`@Captor`等,可以在...

    powermock-mockito-junit-1.6.3.zip 当前最新版

    - 模拟静态方法:这对于测试那些依赖静态方法的类非常有用,因为静态方法通常难以控制。 - 模拟final类和方法:这样即使被测试对象依赖的是final类或方法,也能进行模拟。 - 绕过构造器:可以创建不依赖真实构造器的...

    基于Mockito和PowerMockito的Java单元测试指南.zip

    基于Mockito和PowerMockito的Java单元测试指南 ... 静态方法的模拟 最终方法的模拟 内部类的模拟 3. 高级技巧 处理可变参数 父类属性的注入 统一模拟和存根的方式 异常处理与验证 4. 最佳实践

    PowerMock+Mockito-junit测试套件1.6.3版本

    PowerMock是一个扩展了其他Mocking框架(如EasyMock和Mockito)的库,它允许开发者对静态方法、构造函数、final类和方法、私有方法以及删除静态初始化器进行模拟和mock。在传统测试框架中,这些通常是难以或无法测试...

    Packt Publishing Mockito Essentials (2014)

    - **模拟静态方法**:PowerMock允许模拟静态方法的行为。 - **抑制静态块**:可以抑制类加载时执行的静态初始化块。 - **抑制超类构造函数**:在子类中忽略父类构造函数的行为。 - **抑制我们自己的构造函数**:...

    powermock-mockito-junit-1.6.2.zip

    PowerMock是一个强大的扩展库,它允许开发者模拟静态方法、构造函数、final类和方法、私有方法、删除静态初始化器等,这些都是标准的Java mocking框架如Mockito无法做到的。PowerMock通过字节码操作(Bytecode ...

    mockito单元测试

    Mockito的一个显著特点是支持对复杂场景的模拟,如模拟静态方法、构造函数等,这对于构建大型系统尤为重要。 ##### 2.2 新特性与限制 在Mockito 2.0及更高版本中,增加了许多新的特性,例如支持对final方法和静态...

    使用mockito玩转junit test

    在实际项目中,我们常常需要处理复杂的情况,比如模拟静态方法、模拟构造函数、模拟final类或方法等。Mockito对此提供了扩展支持,但需要注意,过度模拟可能会导致测试过于脆弱,所以要适度使用。 最后,Mockito与...

    单元测试中PowerMock常用方法.

    在单元测试领域,PowerMock是一个强大的工具,它扩展了诸如Mockito等模拟框架的功能,允许开发者模拟静态方法、构造函数、final类和方法、私有方法以及删除静态初始化器等。这一工具对于测试那些难以或者无法正常...

    java单元测试依赖jar和eclipse插件

    PowerMock是一个扩展了其他Mocking框架(如Mockito)的库,它可以模拟静态方法、构造函数、final类和方法、私有方法以及删除静态初始化器。这样,即使被测试的类有难以控制的依赖,我们也能进行有效的单元测试。 ...

    mockito

    9. **Mocking Static Methods**:Mockito 从 3.0 版本开始支持模拟静态方法,这在处理有静态依赖的代码时非常有用。 10. **Annotations**:Mockito 提供了一些注解,如 `@Mock`、`@Spy` 和 `@Captor`,它们简化了...

    PowerMockito使用demo

    PowerMockito是一个强大的Java单元测试框架,它扩展了Mockito的功能,允许我们模拟静态方法、构造函数、final类和方法,以及私有方法。在Java开发中,有时我们需要测试那些依赖于不可控外部因素(如系统时间、静态...

Global site tag (gtag.js) - Google Analytics