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

如何使用Mockito模拟带有自定义注释的类?

Mockito 允许您轻松地模拟带有自定义注解的类

  1. 首先,定义一个自定义注解:
代码语言:javascript
复制
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@Retention(RetentionPolicy.CLASS)
public @interface CustomAnnotation {
    String value() default "";
}
  1. 创建一个使用自定义注解的类:
代码语言:javascript
复制
@CustomAnnotation("SomeValue")
public class CustomAnnotatedClass {
    public String doSomething() {
        return "Hello from CustomAnnotatedClass!";
    }
}
  1. 最后,使用 Mockito 模拟这个带有自定义注释的类:
代码语言:javascript
复制
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;

public class CustomAnnotatedClassTest {
    @Test
    public void testMockCustomAnnotatedClass() {
        // 使用 Mockito.mock() 创建模拟对象
        CustomAnnotatedClass mock = Mockito.mock(CustomAnnotatedClass.class);

        // 设定我们期望的行为和返回值
        Mockito.when(mock.doSomething()).thenReturn("Mocked response!");

        // 调用模拟对象的方法
        String result = mock.doSomething();

        // 验证结果是否与期望的返回值匹配
        Assertions.assertEquals("Mocked response!", result);

        // 验证模拟对象是否被正确调用
        Mockito.verify(mock).doSomething();
    }
}

注意:虽然 Mockito 可以模拟带有自定义注解的类,但它不会解析注解及其属性。如果您需要在测试中解析注解,您可能需要使用其他工具(如 Java 反射 API)。

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

相关·内容

领券