Tengo una aplicación de escritorio C# (CompositUI/WinForms). Esta aplicación se conecta a un servicio web usando SmartClient. Mi tarea es introducir pruebas (de actualización) a esta aplicación, utilizando frameworks SpecFlow y White. Para probar solo la GUI, necesito burlarme de las llamadas al servicio web. La clase que se conecta a ella se está inyectando a través de Spring.net. Mi tarea es probar que la aplicación pueda simular la llamada al servicio web durante las pruebas, es decir, mi código de prueba debe controlar lo que hará mi simulacro. El problema: el método que inicia la GUI simplemente no devuelve el control al hilo que lo ha invocado. Como resultado, no podemos controlar la GUI y los simulacros.Probando WinForms/CompositeUI GUI con SpecFlow, White, Spring y MS Test
lo que las preguntas que tengo en este punto son:
es factible que (y si es así - ¿Cómo hacerlo) para iniciar la interfaz gráfica de usuario de hilo separado y tener un control posterior a la rosca prueba?
¿Cuáles serían otras posibilidades de ejecutar pruebas GUI, que me permitirían tener el control sobre las inyectadas?
Esto no responde la pregunta. No está hablando de la lógica de presentación de pruebas unitarias, realmente quiere hacer la prueba, haga clic en los botones y escriba en los cuadros de texto. Cómo construyes el ui (mvvm, MVP, código detrás) es irrelevante para ese tipo de prueba. – Andy
También se admite winforms, pero no va a tener cambios importantes. Wpf sería la forma preferida de crear nuevas aplicaciones de escritorio (esas no se van a ir) y las aplicaciones xaml/winrt o win/js para las aplicaciones de la tienda de Windows. – Andy
Respuesta modificada de @Andy para aclarar la tecnología. –