Как повысить производительность процесса разработки Silverlight пользовательского интерфейса и MVVM в частности

#silverlight #silverlight-4.0

#silverlight #silverlight-4.0

Вопрос:

В настоящее время я разрабатываю для Silverlight 4.0, и после создания библиотек классов с TDD на обычном C # (до SL) я могу сказать, что мой текущий процесс намного медленнее, чем я привык. (Я думаю, это можно сказать о любом коде пользовательского интерфейса по сравнению с библиотечными классами, но здесь, я думаю, это действительно серьезная проблема для меня.)

Мне интересно, какие методы можно рекомендовать для повышения производительности разработки SL.

Меня в основном беспокоит сложный для тестирования код (из моего POV) — MVVM amp; UI — что можно сделать для повышения производительности здесь, я думаю, может быть, есть способ как-то использовать меньшую изолированную среду и тестировать / отлаживать поведение управления за пределами всего приложения, мне довольно ясно, что я запускаю все приложение, чтобы проверить, правильно ли работает новое диалоговое окно, не самый быстрый способ, и я мог бы повысить производительность, если бы у меня был способ протестировать этот диалог в одиночку, например, и, вероятно, есть другие способы, которыми я не могу подумайте о том, что это тоже может быть решением.

РЕДАКТИРОВАТЬ: 1) вот кое-что, что я нашел полезным, для TDD теперь есть проект, который позволяет console runner запускать тесты, поэтому вам не нужно запускать тесты silverlight в браузере и может быть интегрирован в ваш процесс сборки LightHouse

2) найденная следующая страница дает некоторое представление о возможном подходе, который можно было бы использовать для тестирования view:http://fohjin.blogspot.com/2008/09/how-to-test-your-xaml-behavior-using.html волшебного красивого способа не существует, и этот можно использовать, но, например, для того, чтобы заставить это работать, необходимо указывать имена всех элементов управления, что часто бывает не очень хорошо

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

1. Скорость разработки — не лучший способ создания приложений. Что касается тестирования диалоговых окон, не так уж плохо запустить все приложение. Однако вы можете использовать файлы DesignData для других элементов управления. В любом случае, этот вопрос мне не ясен, я не знаю, как ответить.

2. Мне интересно, что вы узнаете из этого вопроса. По моему опыту, наиболее хрупким аспектом разработки SL, особенно с MVVM, является привязка. Если бы существовал способ автоматизировать тестирование выражений привязки в XAML, я был бы полностью за это.

Ответ №1:

Statlight для сервера сборки.

Модуль, позволяющий resharper запускать тесты silverlight.

WebAii для тестирования автоматизации.

Я не фанат SLUT, поскольку для запуска отдельного теста вам нужно вырезать и вставить его имя, и он не запоминает его, пока вы не дадите ему пройти весь путь, что я редко делаю, если я отлаживаю.

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

1. боже, запускать тесты от Resharper — это потрясающе, спасибо Дейву. Я только протестировал AgUnit и уже могу дышать намного лучше!

2. Согласен. Это заставило меня обновить resharper!

3. я тоже. Вау, я очень благодарен за это. Это именно то, что я искал, когда задавал вопрос. Я скажу это снова: запуск тестов SL из resharper — это ПОТРЯСАЮЩЕ.

Ответ №2:

Вы пробовали использовать slut?

http://archive.msdn.microsoft.com/silverlightut

она будет делать то, что вы хотите, и притворяться, что ей это нравится

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

1. конечно, я это сделал, как вы можете видеть по ссылке LightHouse project, это позволяет запускать модульные тесты SL и с консоли

2. Круто, но я не думаю, что у вас есть ссылка на маяк, когда я отвечаю 😉