ASP.NET MVC против Jquery / AJAX (Где провести разделительную линию?) - PullRequest
0 голосов
/ 18 мая 2010

Я изучаю MVC, и теперь я понимаю основы. Это очень хорошо для страниц CRUD и имеет встроенные методы HTTP для публикации / получения правок / обновлений. Это мило. Все это очень легко проверить, просто создав новый контроллер и протестировав его.

Но я думал о других сценариях веб-страниц при использовании MVC. Как насчет страницы, которая имеет 2 списка, с которыми вы добавляете / удаляете пользователей. (Кнопка переместит пользователя из одного списка в другой)

Это можно сделать с помощью Jquery / Javascript ... Но что тогда происходит с тестированием? Как вы тестируете добавление / удаление пользователей из списка, как в этом примере?

Мне кажется, чем больше jquery вы используете, тем менее проверяемой становится страница правильно? Когда вы выходите за рамки заполнения основных форм, вам нужно использовать что-то большее, чем стандартные страницы MVC.

Какова правильная философия в этом, когда я не понимаю?

Ответы [ 2 ]

1 голос
/ 20 мая 2010

Прогрессивное улучшение: http://www.alistapart.com/articles/understandingprogressiveenhancement/

Сделать все работает без jQuery / Ajax, используя обычный HTML. Простые старые ссылки и отправляет.

Тогда пусть jQ будет очень тонким слоем сверху. Для меня я просто отправляю jQ формы через Ajax вместо обычной отправки. Та же форма, тот же контроллер, это происходит без полного обновления страницы.

Выполнение этого означает, что единственной реальной обязанностью jQ является уточнение пользовательского интерфейса. Если это не удается, он возвращается к обычному HTML.

Таким образом, интерфейсное тестирование становится немного менее важным - вы уверены в правильной функциональности, вы просто тестируете тонкости пользовательского интерфейса.

1 голос
/ 18 мая 2010
  1. Добавление / удаление пользователей не может быть выполнено только с помощью jQuery, если база данных пользователей не является локальной для браузера клиента. в какой-то момент вам придется вызвать действие контроллера в приложении MVC, чтобы сохранить выбор. это действие может быть проверено юнитом.
  2. Существуют известные методики и методы для модульного тестирования JavaScript, которые можно использовать для модульного тестирования вашего кода jQery.

Правильный способ думать об этом сценарии - разделить ваше приложение на два - одно серверное приложение MVC и клиентское приложение jQuery. Тот факт, что код на стороне клиента генерируется и доставляется действиями и представлениями приложения на стороне сервера, не имеет значения.

Как только вы начнете разделять эти два, вы можете начать думать о том, как правильно тестировать каждый из них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...