Попытка юнит-тестирования навигации в одном из моих командных вызовов в закрытый метод. Просто пытаюсь проверить, был ли сделан запрос на навигацию в результате выполнения этой команды.
Это старая документация; https://www.mvvmcross.com/documentation/fundamentals/testing
Эта документация не учитывает новые вызовы на основе asyn c, насколько я обнаружил; Например, IMvxMainThreadAsyncDispatcher Либо нам нужно реализовать два метода ExecuteOnMainThreadAsyn c, либо наследовать от MvxMainThreadAsyncDispatcher в MockDispatcher.
Также необходимо добавить регистрацию IMvxMainThreadAsin
var mockDispatcher = new MockDispatcher();
...
...
Ioc.RegisterSingleton<IMvxMainThreadAsyncDispatcher>(MockDispatcher);
1012 *1013* 10 * *1013* 1013 * 10 * *. *
Так что почти все тесты работают, кроме запросов на навигационные вызовы. Приведенный ниже метод внутри MockDispatcher никогда не вызывается, поэтому я не могу проверить количество запросов;
public async Task<bool> ShowViewModel(MvxViewModelRequest request)
{
Requests.Add(request);
return true;
}
У кого-нибудь есть рабочий код, который будет издеваться, и вызовет этот запрос или в какой-либо другой форме? IMvxMainThreadDispatcher устанавливается как абсолютный, и вызовы навигации больше не выполняются с ShowViewModel <> () в MVVMCross, это делается путем вызова navigationService.Navigate ();