java - 测试 Lombok 的 @UtilityClass 自动生成的代码

标签 java testing junit lombok

我有一个像这样用 @UtilityClass 注释的类

@UtilityClass
public class myUtilClass {
...
}

由于注释 @UtilityClass 创建了自动生成的代码,JaCoCo 没有为我提供这个类的全部内容。 理想情况下,我不想更改任何配置文件以忽略自动生成代码。如何测试这段代码?

最佳答案

只需编写此单元测试以确保您的类由于@UtilityClass 注解而无法实例化。然后,覆盖范围就OK了。

@Test
  void test_cannot_instantiate() {
    assertThrows(InvocationTargetException.class, () -> {
      var constructor = YOUR_CLASS_NAME.class.getDeclaredConstructor();
      assertTrue(Modifier.isPrivate(constructor.getModifiers()));
      constructor.setAccessible(true);
      constructor.newInstance();
    });
  }

关于java - 测试 Lombok 的 @UtilityClass 自动生成的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64896125/

相关文章:

java - MapStruct 根据目标类型映射正确的对象实例

java - StringBuffer 的长度是其容量的一部分吗?

java - 如何检查 Java 程序是否保持打开文件句柄?

testing - 如何组织软件不同版本的测试用例?

java - 通过 JUnit 的 Socket 进行服务器-客户端数据交换测试

java - 处理大量 POJO 的最佳方式

c - 嵌入式应用测试代码

Xcode UITesting 崩溃

java - Junit4/Jmock2 中缺少支持基类

java - 如何使用assertEquals 编写Junit 测试来查看每种硬币将返回多少个?