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.