Tengo el siguiente código heredado:Refactoring método estático/campo estático para las pruebas
public class MyLegacyClass
{
private static final String jndiName = "java:comp/env/jdbc/LegacyDataSource"
public static SomeLegacyClass doSomeLegacyStuff(SomeOtherLegacyClass legacyObj)
{
// do stuff using jndiName
}
}
Esta clase está trabajando en una J2EE-Container.
Ahora me gustaría probar la clase fuera del contenedor.
¿Cuál es la mejor estrategia? La refabricación está básicamente permitida.
Se permite el acceso a LegacyDataSource (la prueba no tiene por qué ser una prueba de unidad "pura").
EDITAR: No se permite introducir marcos de tiempo de ejecución adicionales.
Actualicé mi respuesta según su nueva restricción. De hecho, tenemos un sistema que tuvo que resolver el mismo problema. – Robin