Код: Выделить всё
private static void setupMock()
{
if (driverManagerMock != null)
{
System.out.println("Closing existing DriverManager mock.");
driverManagerMock.close();
}
System.out.println("Setting up static mock for DriverManager.");
driverManagerMock = mockStatic(DriverManager.class);
driverManagerMock.when(() -> DriverManager.getConnection(anyString(), anyString(), anyString()))
.thenAnswer(invocation ->
{
String url = invocation.getArgument(0);
String user = invocation.getArgument(1);
String password = invocation.getArgument(2);
System.out.println("DriverManager.getConnection called with URL: " + url + ", User: " + user);
if (instance != null && instance.dbConnections.contains(url))
{
System.out.println("Returning mocked FakeConnection for URL: " + url);
return new FakeConnection().getMockInstance();
}
else
{
System.out.println("Calling real DriverManager.getConnection for URL: " + url);
return invocation.callRealMethod();
}
});
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... using-mock