In the past, within my team at Innoveo, we had several discussions about the best way to unit test async WPF ICommand. We value quality, so testing is essential to us. We decided to make the methods called by the command internal
so that our tests could call those.
What is the problem with unit testing an Async WPF ICommand? The problem is that the command is an async void
method! So, you have no way to await
the end of the execution of your command. So, your test might assert on things that are still executing.