因为Abstract Class需要有一个继承的实现类来生成实体,假设有如下的Abstract Class
public abstract class AbstractUserService {
protected String userName(final Long userId) {
return "";
}
}
假设有一个实现类为EnterpriseUserService
public class EnterpriseUserSerivce implments AbstractUserService {
}
假如我们想要测试AbstractUserService::userName函数则我们可以这样写
class AbstractUserServiceTest {
@Spy
@InjectMocks
private AbstractUserService abstractUserService = PowerMockito.spy(new EnterpriseUserSerivce());
@Test
void userName_when_userId_is_invalid() {
// 对userName进行测试
}
}
文章描述了一种对含有抽象方法的AbstractUserService进行单元测试的方法。使用PowerMockito的spy功能,创建一个EnterpriseUserService的实例来模拟AbstractUserService,并通过@Spy和@InjectMocks注解在AbstractUserServiceTest中准备测试环境。然后,针对AbstractUserService的userName方法,当传入无效userId时进行了测试案例的编写。
342

被折叠的 条评论
为什么被折叠?



