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

仅从maven测试测试的异常java.lang.UnsupportedOperationException调用init方法失败

潘刚洁
2023-03-14

我有一个Spring应用程序

我插入的新代码-maven测试失败-但仅当我从intelliJ运行测试时才从maven测试成功。来自maven/jenkins失败

org . spring framework . beans . factory . beancreationexception:创建名为“predefinedModelHandlerService”的bean时出错:调用init方法失败;嵌套异常是Java . lang . unsupportedoperationexception,原因是:org . spring framework . beans . factory . beancreationexception:创建名为“predefinedModelHandlerService”的bean时出错:调用init方法失败;嵌套异常是Java . lang . unsupportedoperationexception,原因是:Java . lang . unsupportedoperationexception

我知道它与init方法有关-在我的服务类中,我有一个init方法-和一个静态块-奇怪的是,手动运行测试我看到测试成功了,我可以启动应用程序并部署它,但测试无法启动

static {
    for (CompanyEnumMeasurement m : CompanyEnumMeasurement.values()) {
      someList.put(m.name(), CompanyMeasurement.createFrom(m));
    }
    someList = java.util.Collections.unmodifiableMap(someList);
}

  @PostConstruct
    public void init() {

      for (EnummyDescriptor.CompanyEnummy myType : EnummyDescriptor.CompanyEnummy.values()) {
        myDataFull.put(myType.name(), generatemy(myType.name(), false));
        myDataDimensionOnly.put(myType.name(), generatemy(myType.name(), true));
      }
      myDataFull =  Collections.unmodifiableMap(myDataFull);
      myDataDimensionOnly = Collections.unmodifiableMap(myDataDimensionOnly);
  }

什么会导致init失败?

共有1个答案

孟嘉歆
2023-03-14

https://github.com/spring-projects/spring-boot/issues/6874

一个已知的错误,可能与不可改变的自我指向有关。

 类似资料:
  • 我正在尝试编写一个测试用例,它涵盖了在块中编写的一段代码。事情是这样的: 我在类中有两个方法。 我想知道,当从方法的单元测试用例调用时,如何强制执行此异常?有没有使用Mockito或其他测试库的解决方案?

  • 我想测试某个异常是用作为JUnit测试方法的某个部分中的异常原因抛出的。 测试方法本身不应该抛出异常--只是它的一个特定部分。

  • 我试图测试一个if条件,使用时(),然后返回(),但是当我运行我的测试用例时,它会给我丢失的方法调用,即使我已经嘲笑了实现该方法的类。 这就是我想嘲笑的如果条件 这就是我检查if条件的方式 我已经用@Mock annotation模拟了“request”,但仍然得到下面的异常。 我不确定我做错了什么。有人能帮忙吗?

  • 我正试图为一个方法编写一个测试用例,该方法基于特定的逻辑抛出异常。然而,测试用例失败了,因为预期的异常和获得的异常是不同的。 我如何解决这个问题?

  • 在一个如下的四节点环境中, 如果sentinel monitor的quorum设置为3,则宕机一台后再宕机,此时还剩余两台,存在两个sentinel,两个slave。由于quorum为3,而必须有>=max(quorum, num(sentinels)/2 +1) = max(3,2) = 3个sentinel都同意其中某一个sentinel主持failover,因此此时无sentinel可主持切