首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Mockito为扩展泛型类的类创建模拟

在Java中,使用Mockito库为扩展泛型类的类创建模拟对象是可能的。以下是一个简单的例子:

假设你有一个泛型类和一个扩展这个泛型类的类:

代码语言:javascript
复制
public class GenericClass<T> {
    public T doSomething(T value) {
        // ...
        return value;
    }
}

public class ExtendedClass extends GenericClass<String> {
    @Override
    public String doSomething(String value) {
        return super.doSomething(value);
    }
}

你可以使用Mockito来模拟ExtendedClass,并为doSomething方法设置特定的行为:

代码语言:javascript
复制
import static org.mockito.Mockito.*;

@Test
public void test() {
    // 创建模拟对象
    ExtendedClass mock = mock(ExtendedClass.class);

    // 设置模拟行为
    when(mock.doSomething(anyString())).thenReturn("mocked value");

    // 使用模拟对象
    String result = mock.doSomething("test");

    // 验证结果
    assertEquals("mocked value", result);
}

在这个例子中,当你调用mock.doSomething("test")时,它会返回"mocked value",而不是实际的doSomething方法的结果。

注意,你需要在你的测试类中导入Mockito的静态方法,例如mock(), when(), verify()等。你也需要确保你的项目已经添加了Mockito的依赖。如果你使用的是Maven,你可以在你的pom.xml文件中添加以下的依赖:

代码语言:javascript
复制
<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-core</artifactId>
    <version>3.11.2</version>
    <scope>test</scope>
</dependency>
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

共17个视频
动力节点-JDK动态代理(AOP)使用及实现原理分析
动力节点Java培训
动态代理是使用jdk的反射机制,创建对象的能力, 创建的是代理类的对象。 而不用你创建类文件。不用写java文件。 动态:在程序执行时,调用jdk提供的方法才能创建代理类的对象。jdk动态代理,必须有接口,目标类必须实现接口, 没有接口时,需要使用cglib动态代理。 动态代理可以在不改变原来目标方法功能的前提下, 可以在代理中增强自己的功能代码。
领券