Java 单元测试引发默认管理员用户名不可用错误

Java 单元测试引发默认管理员用户名不可用错误,java,mockito,alfresco,Java,Mockito,Alfresco,我用的是露天6。在我要测试的方法之一中,具有以下代码: if(AuthenticationUtil.getFullyAuthenticatedUser().equals("xyz")) { return; } 在进行单元测试时,我想强制这个条件为false 在单元测试中,我在之前有一个,它具有以下内容: AuthenticationUtil.setAdminUserAsFullyAuthenticatedUser(); 在实际测试中,我没有任何与AuthenticationU

我用的是露天6。在我要测试的方法之一中,具有以下代码:

if(AuthenticationUtil.getFullyAuthenticatedUser().equals("xyz"))
{
        return;
}
在进行单元测试时,我想强制这个条件为false

在单元测试中,我在之前有一个
,它具有以下内容:

AuthenticationUtil.setAdminUserAsFullyAuthenticatedUser();
在实际测试中,我没有任何与
AuthenticationUtil
相关的代码

我得到以下错误:

java.lang.IllegalStateException: AuthenticationUtil not yet initialised; default admin username not available
at org.alfresco.repo.security.authentication.AuthenticationUtil.getAdminUserName(AuthenticationUtil.java:450)

我缺少什么?

检查
AuthenticationUtil.setAdminUserAsFullyAuthenticatedUser()方法


它很可能运行
AuthenticationUtil.getAdminUserName()
方法,该方法位于
AuthenticationUtil
类的第450行,似乎需要admin用户名。

检查
AuthenticationUtil.setAdminUserAsFullyaAuthenticatedUser()方法


它很可能运行
AuthenticationUtil.getAdminUserName()
方法,该方法位于
AuthenticationUtil
类的第450行,它似乎需要一个admin用户名。

AuthenticationUtil是Alfresco中的一个静态类,不可能从测试中调用setter。如果您检查的源代码,您可以看到该方法依赖于
initialized
标志,该标志显然与spring中的
InitializingBean
接口有关。这将向您展示如何配置
defaultAdminUserName
,AuthenticationUtil是Alfresco中的一个静态类,无法从测试中调用setter如果您检查的源代码,您可以看到该方法依赖于
initialized
标志,这显然与spring的
初始化bean
接口有关。这将向您展示如何配置
defaultAdminUserName