Java Spock inmemory实现映射器内部自动连接的映射结构

Java Spock inmemory实现映射器内部自动连接的映射结构,java,spring-boot,unit-testing,spock,mapstruct,Java,Spring Boot,Unit Testing,Spock,Mapstruct,嗨,我想测试一些不使用h2的内存实现的方法 在userMapper的impl中,我有 当我尝试运行我的测试时,我有这个passwordEncoderMapper的NullPointerException。 在没有加载spring上下文(@springbootest)的情况下,如何像第一个屏幕截图(authService)那样注入到归档的autowire中.对于passwordEncoderMapper您有NullPointerException的原因是您将spring组件模型与映射器#get

嗨,我想测试一些不使用h2的内存实现的方法

在userMapper的impl中,我有

当我尝试运行我的测试时,我有这个passwordEncoderMapper的NullPointerException。
在没有加载spring上下文(@springbootest)的情况下,如何像第一个屏幕截图(authService)那样注入到归档的autowire中.

对于
passwordEncoderMapper
您有
NullPointerException
的原因是您将spring
组件模型
映射器#getMapper
混合在一起。你不应该那样做

当您使用自定义的
组件模型
时,应该始终使用依赖项注入来获取映射器


对于测试,您可以使用
Mapper#injectionStrategy
injectionStrategy#构造函数
,然后通过向映射器提供正确的依赖项来自己实例化映射器。

请编辑您的问题,用代码块替换屏幕截图。看看你之前的一些问题,你已经知道怎么做了。理想情况下,提供一组不连贯的代码片段,没有人可以编译和运行这些代码片段来重现您的问题。这将大大增加你获得正确答案的机会。非常感谢。这个问题也有点不清楚-至少我不明白-而且你还忘了发布堆栈跟踪。谢谢,这是可行的