假设现在isRoot的服务只有接口文件,并没有实现代码
public interface IUserServiceV1 {
boolean isRoot(final Long userId);
}
class FuncService {
@Resource
private IUserServiceV1 userServiceV1;
public String userCharacter(final Long userId) {
//
final boolean isRoot = userServiceV1.isRoot(userId);
if (isRoot) {
return "root";
}
return "user";
}
}
因为项目中没有该接口的实现,这时候我们直接对这个接口进行继承并实现其方法就可以了
class FuncTest {
@Spy
@InjectMocks
private FuncService funcService = PowerMockito.spy(new FuncService());
public static class UserServiceV1Profider implements IUserServiceV1 {
boolean isRoot(final Long userId) {
return userId == 0;
}
}
@Test
public void test_if_user_is_root() {
Assertions.assertEquals(
"root",
funcService.userCharacter(0)
);
}
}