Tengo una aplicación que envía muchos PDF a una impresora. ¿Alguien ha tenido alguna experiencia creando un objeto Mock que represente una impresora local?Cómo simular una impresora en .NET?
Respuesta
No estoy del todo seguro de lo que está tratando de hacer, pero esto podría ayudar.
Para simular una impresora (o cualquier otro dispositivo externo), debe encapsular todas las llamadas a la impresora detrás de una interfaz, p.
interface IPrinter
{
void Print(PrintData data);
}
Toda su otro código continuación, debe hablar con la impresora a través de esta interfaz.
A continuación, puede aplicar una versión de esta interfaz que se comunica con la impresora real, y un objeto falso que se puede utilizar cuando se prueba etc.
El objeto falso puede ser fácilmente burlado de utilizar un marco de burla como Rhino Mocks o Moq, o simplemente puede implementar uno falso.
public class FakePrinter : IPrinter
{
public void Print(PrintData data)
{
// Write to output window or something
}
}
Actualización:
Todas las clases que utiliza la impresora luego ser algo como esto:
public class ClassThatPrints
{
private IPrinter _Printer;
// Constructor used in production
public ClassThatPrints() : this(new RealPrinter())
{
}
// Constructor used when testing
public ClassThatPrints(IPrinter printer)
{
_Printer = printer;
}
public void MethodThatPrints()
{
...
_Printer.Print(printData)
}
}
Por cierto, si utiliza un contenedor IoC entonces no es necesario el primer constructor A continuación, inyecta las clases de impresora con la herramienta IoC.
Siempre puede pausar la impresora para imprimir.
Puede usar un dispositivo de impresora que escriba en un archivo.
Y puede escribir su propio dispositivo de impresión.
Otra solución es escribir usted mismo una aplicación LPD o simplemente monitorear el puerto 9100 y tener una cola de impresión de Windows enrutar los datos a "sí mismo" sobre 9100 o 515 (LPD).
- 1. ¿Cómo puedo instalar una impresora usando .NET?
- 2. Escribiendo una impresora virtual en .NET
- 3. de Configuración de la impresora en .NET
- 4. ¿Cómo obtener información de la impresora en .NET?
- 5. ¿Cómo crear una impresora virtual en Windows?
- 6. Hablando con una impresora
- 7. Cómo imprimir cualquier documento en una impresora SELECCIONADA
- 8. ¿Cómo puedo saber si una impresora imprimirá en un archivo?
- 9. .NET Simular Ctrl + Alt + Del Sendkeys
- 10. Imprimir en una impresora cliente desde una aplicación web
- 11. Cómo escribir una impresora bonita personalizada
- 12. Cómo simular una 'unión externa' en core.logic?
- 13. imprimiendo en una impresora AirPrint de Android
- 14. Imprimir en una impresora estándar de Python?
- 15. Cómo simular tuplas y conjuntos en C#?
- 16. Imprimir en una impresora USB con Python en una Mac
- 17. ¿Cómo usar Java para imprimir en una impresora de red?
- 18. Impresora de recibos?
- 19. Cómo simular una cámara inestable con opencv?
- 20. ¿Cómo puedo simular una OracleConnection y OracleCommand?
- 21. Cómo simular una tarjeta SIM para Android
- 22. Cómo simular NVL en HQL
- 23. ¿Puedo obtener el icono asociado a una impresora instalada a través de .Net?
- 24. ¿Está conectado a una impresora Brother PTouch?
- 25. Cómo simular funciones anidadas?
- 26. Cómo simular getApplicationContext
- 27. Imprimir un archivo en una impresora en Ruby
- 28. Impresión en Java directamente en una impresora de red Postscript
- 29. Cómo simular excepción OutOfMemory
- 30. Simular una solicitud GET XHR
Así es como lo haría +1 –