Digamos que tengo un poco de APM (BeginXxx, EndXxx) métodos patrón asincrónicos (como parte de algún proxy de servicio WCF Voy a llamar):Cómo configurar una llamada al método BeginXXX EndXXX con moq?
public interface ISomeService
{
IAsyncResult BeginSomeMethod(int num, AsyncCallback callback, object state);
int EndSomeMethod(IAsyncResult ar);
}
utiliza mi código real utiliza el Task.Factory.FromAsync
para crear una tarea, y luego esperando esta tarea usando el nuevo patrón async/await introducido en .net 4.5.
Me gustaría probar mi clase y, por lo tanto, necesito escribir un método que reciba el simulacro, el método de inicio, el método final y el valor de retorno, y configure el simulacro para que eventualmente devuelva el valor de retorno requerido.
ejemplo de uso:
SetupAsync(mock, mocked => mocked.BeginSomeMethod, mocked=> mocked.EndSomeMethod, 7);
los que ocurre un flujo asíncrono con cualquier argumento int para volver 7. Me parece que no puede encontrar la manera de lograr tal cosa en el moq.
+1 para TaskWsdlImportExtension. –