2013-05-13 2 views
1

Я работаю над своим первым приложением MVVMCross, и я пытаюсь создать хорошую тестовую среду. Я посмотрел на тестирование, которое Стюарт делает в своем приложении TwitterSearch, но я ничего не нашел, что объясняет его подход или любой другой подход к тестированию MVVMCross. Кто-нибудь может найти хороший пост/учебник по правильному способу тестирования приложения MVVMCross? Помимо всего кода, что Newb (как я) не может полностью понять ...Тестирование приложения MVVMCross

ответ

3

Я не уверен, что вы просите ...

Что вы имеете в виду под «надлежащим образом»?

Это вопрос механики «как написать единичный тест?» Или вопрос о том, сколько единиц тестов для написания, какие компоненты тестировать, как глубоко идти и т. Д.?


Для механики:

  • Я лично использую NUnit для тестирования (от NuGet)
  • Я включил это в проекте .net4.5 библиотеки классов.
  • Я использую Moq для большинства моих Mocking (от NuGet)
  • Есть несколько объектов MvvmCross я вручную макет - как показано в этом TwitterSearch сообщение
  • Там в MvvmCross базовый тест класс, который обеспечивает IoC/ServiceLocation - но Обычно я использую это только тогда, когда мне нужно использовать реальные классы MvvmCross - например когда класс тестируемой наследует от MvxViewModel
  • я только запускать тесты в рамках Resharper в Visual Studio

Есть много других подходов, в том числе некоторые люди предпочитают запускать тесты на устройствах - например, используя превосходный тест-драйв MonoTouch Nunit.

Есть также много людей, заинтересованных в тестировании BDD - например, такие вещи, как Франк, Calabash (приход в Xamarin Test Cloud) и Рамочный Phone Test Windows, что я написал - https://github.com/Expensify/WindowsPhoneTestFramework :)


Для философии, у меня нет сильного мнения, но мне нравится этот ответ:

https://stackoverflow.com/a/153565/373321

Я тоже плачу, чтобы написать код

+0

моей главной борьбы был, когда я пытаюсь проверить мои ViewModels, наследуемые от модели MvxView. Кажется, что какая документация есть, немного устарела (например: больше не похоже на MvxViewDispatcherProvider). Также я пытаюсь понять, что именно происходит с ViewDispatcher. – ferics2

+0

Если вы зададите конкретные вопросы - например, в том числе пример теста, который вы не смогли создать, - тогда я попытаюсь ответить с конкретным ответом. Также помните, что вы можете внести свой вклад в проект, ведя блог о том, что вы изучаете и создаете. Такие взносы являются движущей силой, которая в настоящее время улучшает проект и его документацию. – Stuart

+0

Я старался быть более конкретным в моих праведниках. Спасибо за любую помощь, которую вы можете предоставить! – ferics2