Uno de los principales problemas que me impiden trabajar a toda máquina es que un gran porcentaje del código que escribo depende en gran medida de objetos COM de terceros de diferentes fuentes que también tienden a interactuar entre sí (Estoy escribiendo complementos para Microsoft Office usando varias bibliotecas de ayuda si lo necesita saber).¿Cómo hace para probar la unidad de código que interactúa con objetos COM de terceros y crea instancias de ellos?
Sé que probablemente debería usar objetos de simulación, pero ¿cómo podría hacerlo exactamente en este caso? Puedo ver que es relativamente fácil cuando solo tengo que pasar una referencia a un objeto ya existente, pero algunas de mis rutinas crean instancias de objetos COM externos y luego a veces las transfieren a algún otro objeto COM externo de una biblioteca diferente.
¿Cuál es el enfoque de mejores prácticas aquí? ¿Debo tener mi código de prueba temporalmente cambiar la información de registro COM en el registro para que el código probado ejemplifique uno de mis objetos simulados en su lugar? ¿Debería inyectar unidades de biblioteca de tipo modificado? ¿Qué otros enfoques hay?
Estaría especialmente agradecido por los ejemplos o las herramientas para Delphi, pero estaría igual de feliz con consejos más generales y explicaciones de mayor nivel también.
Gracias,
Oliver
De acuerdo; y dado que todas las interacciones con los objetos COM (excepto las llamadas de automatización a través de IDispatch) utilizan una interfaz COM, usted solo debería poder implementarlas en su clase simulada. – rpetrich