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

EasyMock:如何在没有警告的情况下创建泛化类的模拟?

在 EasyMock 中,要在没有警告的情况下创建泛型类的模拟,可以使用 @Mock 注解和 EasyMock.createMock() 方法。以下是一个示例:

  1. 首先,确保已经添加了 EasyMock 和 JUnit 的依赖。
代码语言:xml<dependencies>
复制
   <dependency>
       <groupId>org.easymock</groupId>
       <artifactId>easymock</artifactId>
       <version>4.4</version>
       <scope>test</scope>
    </dependency>
   <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>4.13.2</version>
       <scope>test</scope>
    </dependency>
</dependencies>
  1. 创建一个泛型类的接口。
代码语言:java
复制
public interface MyGenericInterface<T> {
    T getData();
}
  1. 在测试类中使用 @Mock 注解创建泛型类的模拟。
代码语言:java
复制
import org.easymock.EasyMock;
import org.junit.Before;
import org.junit.Test;

import static org.junit.Assert.assertEquals;

public class MyGenericInterfaceTest {
    @Mock
    private MyGenericInterface<String> myGenericInterface;

    @Before
    public void setUp() {
        myGenericInterface = EasyMock.createMock(MyGenericInterface.class);
    }

    @Test
    public void testGetData() {
        EasyMock.expect(myGenericInterface.getData()).andReturn("Hello, world!");
        EasyMock.replay(myGenericInterface);

        String result = myGenericInterface.getData();
        assertEquals("Hello, world!", result);

        EasyMock.verify(myGenericInterface);
    }
}

在这个示例中,我们创建了一个名为 MyGenericInterface 的泛型接口,并在测试类中使用 @Mock 注解创建了一个模拟。在 setUp() 方法中,我们使用 EasyMock.createMock() 方法创建了一个 MyGenericInterface<String> 类型的模拟。这样,我们就可以在没有警告的情况下创建泛型类的模拟。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 玩花招的PowerMock

    当我们面对一个遗留系统时,常见的问题是没有测试。正如Michael Feathers在Working Effectively with Legacy Code一书中对“遗留代码”的定义。他将其简单归纳为“没有测试的代码”。真是太贴切了!正是因为没有测试,使得我们对遗留代码的任何重构都有些战战兢兢,甚至成为开发人员抵制重构的借口。从收益与成本的比例来看,对于这样的系统,我一贯认为不要盲目进行重构。因为重构的真正适用场景其实是发生在开发期间,而非维护期间。当然,提升自己的重构能力,尤其学会运用IDE提供的自动重构工具,可以在一定程度上保障重构的质量。然而,安全的做法,还是需要为其编写测试。

    02
    领券