2013-12-26 5 views
0

Я разрабатываю приложение Windows Phone 7 с использованием подхода MVVM с помощью Caliburn.Micro. Как проверить мои ViewModels? Все они выглядят так (упрощенно):Unit Testing Caliburn.Micro ViewModels

public class MainPageViewModel : PropertyChangedBase { 
     readonly INavigationService navigationService; 

     public MainPageViewModel(INavigationService navigationService) { 
      this.navigationService = navigationService;    
     } 
} 

INavigationService определяется в сборке Caliburn.Micro и проблема заключается в том, что он наследует от INavigate который определен в System.Windows (Windows Phone версии). Поэтому, когда я пытаюсь использовать такие ViewModels в тестовом проекте единичного я получаю следующую ошибку

типа «System.Windows.Controls.INavigate» определяются в сборке , не ссылаются. Вы должны добавить ссылку на сборку «System.Windows, Version = 2.0.5.0,

Когда я пытаюсь добавить Явно ссылку на System.Windows.dll, который используется в моем проекте WP7 я получаю. Добавлена ​​версия NET (4.0.xx). Мои виртуальные машины определены в проекте WP7, я не могу переместить их в переносимую библиотеку классов, потому что Caliburn.Nicro пока не поддерживает PCL. Какие-либо предложения?

+0

Не можете ли вы создать библиотеку классов WP7 для ваших модульных тестов? –

+0

Похоже, я не могу добавить ссылку на Microsoft UniTesting Framework в проектах WP7. –

+0

Ах. Пробовали ли вы использовать альтернативную модульную систему тестирования? –

ответ

0

Я закончил использование пользовательской модульной системы испытаний, как описано в nokia developer wiki. Дополнительная польза от его использования заключается в том, что я могу напрямую тестировать свои специфические для телефона реализации без необходимости использования mocks.