У меня есть SL-код
public void LoadData()
{
MyClient myClient = new MyClient();
myClient.MyMethodCompleted += new EventHandler<MyMethodCompletedEventArgs>(myMethod_MyMethodCompleted);
myClient.MyMethodAsync();
}
, тогда завершенный метод устанавливает свойства из того, что возвращается с сервера.
Работает нормально, но я хочу провести модульное тестирование класса и свойстввсе частные.Я ожидал сделать что-то вроде
public void LoadData(IMyClient myClient = null)
{
if(myClient == null) {
MyClient myClient = new MyClient();
}
...
и передать имитирование, но интерфейс для клиента не содержит асинхронные методы, а только оригинальные асинхронные методы на стороне сервера, то есть public ReturnType MyMethod ();
Поэтому я попытался использовать MyClient в качестве базового класса объекта Mock
public MyMockClient : MyClient
new public ReturnType MyMethod()
{
...
, но базовый конструктор вызывает всевозможные проблемы, и я не хочу добавлять другую ссылку на службу втестовый проект.
Я пропустил трюк, это можно сделать без каких-либо сторонних инструментов насмешек?