Powiedzmy mam trochę APM (BeginXxx, EndXxx) METODY wzór asynchroniczny (jako część jakiegoś pełnomocnika usług WCF Dzwonię):Jak skonfigurować wywołanie metody BeginXXX EndXXX za pomocą moq?
public interface ISomeService
{
IAsyncResult BeginSomeMethod(int num, AsyncCallback callback, object state);
int EndSomeMethod(IAsyncResult ar);
}
Moje rzeczywisty kod wykorzystuje używa Task.Factory.FromAsync
Aby utworzyć zadanie, a następnie oczekując na to zadanie, używając nowego wzoru async/await wprowadzonego w .net 4.5.
Chciałbym przetestować moją klasę, a tym samym muszę napisać metodę, która odbiera makietę, metodę początkową, metodę końca i wartość zwracaną oraz konfiguruje próbę tak, aby w końcu zwracała wymaganą wartość zwracaną.
przykład użycia:
SetupAsync(mock, mocked => mocked.BeginSomeMethod, mocked=> mocked.EndSomeMethod, 7);
co spowoduje przepływ asynchronicznej z dowolnego int argument do powrotu 7. I nie wydaje się dowiedzieć się, jak osiągnąć coś takiego w MOQ.
+1 dla TaskWsdlImportExtension. –