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

如何有效地测试mapstruct spring Mapper?

龙枫
2023-03-14

我已经创建了一些mapstruct映射器,并用spring构造函数注入进行了注释。我知道在测试中,我可以用SpringBootTest自动绘制映射器,但它看起来很重,加载速度很慢。我可以在不初始化spring上下文的情况下获取映射器吗?这是好的做法吗?

共有1个答案

洪昱
2023-03-14

您总是可以通过mappers.getMapper(MapperClass.class)获取映射器。但是,当该映射器使用其他映射器时,问题就出现了。

在使用其他映射器(@mapper.use)时,您可能还希望使用(@mapper.injectionstrategy)和构造函数注入。由于映射器在设计上是无状态的,您可以自己编写一些反射代码来构造一个映射器,其中包含所有依赖的use映射器。

 类似资料:
  • 问题内容: 如何检查变量是否包含有效的UUID / GUID标识符? 我目前仅对验证类型1和4感兴趣,但这不应该限制您的答案。 问题答案: 当前,UUID是在RFC4122中指定的。一个经常被忽略的边缘情况是NIL UUID,以下正则表达式考虑到了这一点,并将返回NILUUID的匹配项。请参阅以下有关仅接受非NILUUID的UUID。这两种解决方案均适用于版本1至5(请参见第三个模块的第一个字符)

  • 问题内容: 我有一个像这样的表驱动测试用例: 我可以检查长度是否相同,并编写一个循环来检查每个键值对是否相同。但是,当我想将其用于另一种类型的地图(例如)时,必须再次编写此检查。 我最终要做的是,将地图转换为字符串并比较了字符串: 假定等效映射的字符串表示形式相同,在这种情况下,这似乎是正确的(如果键相同,则它们会散列为相同的值,因此它们的顺序将相同)。有一个更好的方法吗?在表驱动测试中比较两个映

  • 我正在从事selenium webdriver的一个自学项目,并使用log4j进行日志记录。有一个测试类——包含所有测试用例作为方法;有一个页面类——包含测试类可以使用的所有web元素和方法 我应该如何使用log4j?测试等级: } 页面类: } 在这种情况下,我在两个类中初始化log4j,然后最大的问题是我必须在每个方法中调用属性配置器。 我怎样才能以更好的方式初始化它,而不必每次都调用Prop

  • 我有一系列的集成测试,我想用这些测试来测试我的spring-MVC/spring-数据-JPA堆栈。不幸的是,构建时间是荒谬的,而且随着每一次新的集成测试,只会变得更糟。看起来每个单独的测试都要经历创建嵌入式数据库、bean创建等开销。 我有一个基本测试类: 其中我的jpaconfig.java: 最后我试着使用它,比如: 在查看构建日志时,我可以看到应用程序为每个测试初始化。有没有办法让Base

  • 给定一个由整数和一个数字组成的数组,,对该数组执行左旋转。然后将更新后的数组打印为单行空格分隔的整数。 示例输入: 如何使用更少的内存来解决这个问题?