Выполняйте модульные тесты в проекте xamarin forms, которые не используют шаблон MVVM

#c# #testing #xamarin.forms

Вопрос:

Я хочу добавить тесты в мобильное приложение, разработанное с помощью форм Xamarin, но я не нашел никаких тем о модульном тестировании без MVVM.

Я увидел : https://docs.microsoft.com/fr-fr/xamarin/xamarin-forms/enterprise-application-patterns/unit-testing

но ничего без шаблона MVVM

Мои вопросы таковы :

  • Можно ли провести модульное тестирование без шаблона MVVM ?
  • Лучше ли реализовать шаблон MVVM перед добавлением модульных тестов ?

Большое спасибо за ваши ответы.

Комментарии:

1. Модульное тестирование полностью отделено от шаблонов фреймворка и архитектуры. Если вы написали код, который хотите протестировать, создайте проект модульного тестирования и напишите тесты. Если вы не использовали шаблон, такой как MVVM, его может быть чрезвычайно сложно протестировать, поскольку ваш код тесно связан с платформой. Вы можете имитировать XF в модульных тестах и запускать большую часть своего приложения ( исходный код).

2. Спасибо @Axemasta, я понимаю, что вы имеете в виду, но у меня нет опыта, чтобы решить, следует ли рефакторировать мой код для использования шаблона MVVM. Можете ли вы сказать мне, какие части будет трудно проверить, чтобы я мог принять решение.

3. Когда вы используете MVVM, вы отделяете логику приложения от своего представления. Если вы хотите проверить поведение страницы, которая не использует viewmodel, вам придется имитировать пользовательский интерфейс, а также проверять поведение в вашей системе. Трудность тестирования в основном означает, что вы не можете издеваться / игнорировать поведение как часть теста. Вот почему отделить MVVM от фреймворка, такого как Prism, действительно легко протестировать, потому что фреймворк поощряет вас использовать интерфейсы, а не жестко связанное поведение

4. Спасибо за ваше объяснение @Axemasta