当前位置: 首页 > 知识库问答 >
问题:

Spring单元测试中未注入MapStruct映射器

孟楷
2023-03-14

我使用的是一个用MapStruct生成的映射器:

@Mapper
public interface CustomerMapper {
   Customer mapBankCustomerToCustomer(BankCustomerData bankCustomer);
}

缺省组件模型是spring(在pom.xml中设置)

<compilerArg>-Amapstruct.defaultComponentModel=spring</compilerArg>
@Autowired
private CustomerMapper customerMapper;
@SpringBootTest
@AutoConfigureMockMvc
@RunWith(SpringRunner.class)
public class SomeControllerTest {

    @Mock
    private SomeDependency someDependency;

    @InjectMocks
    private SomeController someController;

    @Test
    public void shouldDoSomething() {
        ...
    }

}

共有1个答案

卫华奥
2023-03-14

我遵循了这个答案,当我在build.gradle文件中粘贴建议的行时,我的问题很快就解决了

 类似资料:
  • 我试图用为MapStruct映射器编写单元测试。 单元测试类: 任何帮助都将不胜感激。

  • 使用@SpringBootTest,据我所知,Spring实际上是在启动应用程序,并且应该创建映射器类,所以我不明白,为什么映射器总是空?!当我删除@SpringBootTest中的DummyMapper.class时,会出现一个错误,上面写着“Failed to load application Context”。这向我表明,映射器是被识别的。 我觉得奇怪的另一件事是,我必须在映射器中使用“un

  • 我在为SpringJUnit4ClassRunner.class)配置测试时遇到了问题。我的问题是因为我的映射器从map结构到达时返回null。

  • 我正在使用MapStruct,mapstruct-jdk8版本1.1.0.final并定义我通过spring注入的抽象类。 我正在研究如何能够通过Junit测试来测试它们?我有一个基本的主映射器,它将使用2个子映射器 我尝试了几种方法,但无法正确实例化映射器来测试它。 java.lang.RuntimeException:java.lang.ClassNotFoundException:找不到Co

  • 我有麻烦映射一个嵌套dto字段正确与MapStruct。我有几个DTO: 具有相应的映射器 到目前为止,一切工作都很好,生成的代码自动连接其他需要的映射器来正确地构建DTO。例如生成的仪器映射器实现 现在,当我试图创建一个包含嵌套工具dto的映射器时遇到了麻烦。映射器应使用instrumentMapper正确创建所需的dto。DTO: 映射器: 生成的代码: 现在media mapper得到了很好

  • 使用MapStruct,我创建了一个映射器,它是一个抽象类。我决定将映射器从接口转换为抽象,以便使用组件名称,该组件本身使用名为的组件。 尽管映射工作正常,但在单元测试中,它会抱怨组件找不到合格bean。 映射器类。我尝试在注释的属性中添加。但是异常移到了的下一个组件。 出现异常的测试类。正如我提到的,我尝试将添加到。我还尝试通过添加来完全模仿它。