尝试模拟静态方法时出现以下异常:
org.mockito.exceptions.base.MockitoException:对于 de.msggillardon.system.UserContext,静态模拟已在当前线程中注册要创建新的模拟,必须取消注册现有的静态模拟注册
对于以下代码:
@ExtendWith(MockitoExtension.class)
// @PrepareForTest(UserContext.class)
public class KonfigurationCopyServiceTest {
public static final String CONFIGURATION_NAME = "Standard-Konfiguration";
@Mock
public TriggeringKonfigurationService triggeringKonfigurationService;
@Mock
public ReportKonfigService reportConfigurationService;
@Mock
public BuchungsschemaService buchungsschemaService;
public KonfigurationCopyService copyService;
@BeforeEach
public void init() {
Mockito.mockStatic(UserContext.class);
Mockito.when(UserContext.getUsername()).thenReturn("superuser");
copyService = new KonfigurationCopyService(triggeringKonfigurationService,
reportConfigurationService, buchungsschemaService);
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
谢谢你!
编辑:UserContext.java
package de.msggillardon.system;
/**
* This class contains the username and IP-address of the logged in user. It is initialized for each
* session.
*
* @author wildp
*/
public class …Run Code Online (Sandbox Code Playgroud)