我想模拟另一个服务类Mockito中具有依赖项的服务类。
UserService类
@Document(collection = "pruebas")
// Lombok's annotations
@Data @NoArgsConstructor @AllArgsConstructor
@EqualsAndHashCode @ToString
public class Prueba {
@Id private String id;
private String nombre;
private boolean activo = false;
}
AdminService类
@Service
class UserService(
val userRepository: UserRepository,
val userRoleRepository: UserRoleRepository,
val jwtGenerator: JwtGenerator,
val emailService: EmailService
)
现在我正尝试使用以下类编写单元测试
@Service
class AdminService(
val userService: UserService,
val userRepository: UserRepository,
val adminRepository: AdminRepository
)
请建议如何在注入了所有四个依赖项的AdminService中模拟userService
答案 0 :(得分:2)
您可以将UserService的依赖项作为模拟对象创建,然后在AdminServiceTests中将其用作依赖项。
答案 1 :(得分:0)
如果您使用的是Gradle&Spring,请将此插件添加到build.gradle
plugins {
kotlin("plugin.spring") version "1.3.72"
}
然后,Mockito应该无需模拟服务的依赖项即可工作:
val userService = Mockito.mock(UserService::class.java)