【发布时间】:2017-11-18 08:34:07
【问题描述】:
使用 MAPSTRUCT 的 Java 类我们在接口内部有静态变量 INSTANCE,并且该接口实现是在运行时创建的。那么,如何在 Java 中模拟使用 Map Struct 的类?
@Mapper 1
public interface CarMapper {
CarMapper INSTANCE = Mappers.getMapper( CarMapper.class ); 3
@Mapping(source = "numberOfSeats", target = "seatCount")
CarDto carToCarDto(Car car); 2
}
public class A
{
public CarDto getCardto()
{
CarDto carDto = CarMapper.INSTANCE.carToCarDto(car);
return carDto;
}
}
如何为 A 类创建模拟?
【问题讨论】:
-
请提供一些代码来查看,您的描述还远远不够。 “MAPSTRUCT”也不是我所知道的;包含一些代码的另一个原因。
-
如果您使用的是静态变量
INSTANCE,这意味着您使用的是默认的componentModel。为什么需要模拟这样的课程?你不必在界面中使用静态变量,你也可以在另一个地方(你需要它的地方)创建它。 -
你能看一下代码吗?
-
首先 MapStruct 是一个注解处理器,因此它在编译时而不是运行时创建实现类。查看代码我的答案仍然有效
标签: java mockito powermock mapstruct