#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. Круто, но я не думаю, что у вас есть ссылка на маяк, когда я отвечаю 😉