Как может я модульный тест MVC UserViewControl?

РЕДАКТИРОВАТЬ:

Property.joins(:photos).group('photos.property_id').having('count(photos.property_id) > 1').count

#=> {1234=>2}  # 1234 is property id 2 is count of photos 

Вы получите property_ids с количеством связанных фотографий с ним.

Старый ответ:

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

Property.includes(:photos).where.not(photos: { property_id: nil })

Поскольку вы используете рельсы 3.2 .not не будет работа, которую вы должны использовать

Property.includes(:photos).where("property_id IS NOT null")
7
задан Dror Helper 17 December 2008 в 21:44
поделиться

6 ответов

К сожалению, ASP.NET viewengine использует VirtualPathProvider в ASP.NET, размещающем среду. Для усугубления положения я проследил часть другого кода с помощью Отражателя и нашел, что существуют другие зависимости к некоторым hardcode ссылкам на утилиты VirtualPath. Я надеюсь, что они фиксируют это в выпуске, таким образом, мы можем действительно протестировать наши Представления и как они представляются.

3
ответ дан 7 December 2019 в 01:28
поделиться

Одна опция состояла бы в том, чтобы выполнить модульные тесты в браузере. Я имел успех с Селеном для таких случаев.

2
ответ дан 7 December 2019 в 01:28
поделиться

Мы разочаровались в представлениях поблочного тестирования и теперь используем тесты браузера WatiN в качестве части нашей сборки.

Мы также используем Решение Resharper Широкий Анализ, чтобы проверить, существуют ли ошибки компилятора. Не прекрасный, но это получает очень похожие результаты. Оборотная сторона - тесты WatiN являются медленными.

2
ответ дан 7 December 2019 в 01:28
поделиться

Это значения, которые должны быть установлены в объекте HttpBrowserCapabilities, чтобы сайт веб-форм asp.net работал, я попытался бы удостовериться, что они установлены и видят, решает ли это Вашу проблему, я не уверен, было ли это, но эй это стоящее того, чтобы попытаться право?

  • Браузер (иначе имя)
  • useragent (передал в запросе),
  • (истинные/ложные) таблицы
  • версия (версия браузера, например, 1.0)
  • w3cdomversion (например, 1.0)
  • (истинные/ложные) cookie
  • ecmascriptversion (например, 1.0)

Надеюсь, это поможет.

1
ответ дан 7 December 2019 в 01:28
поделиться

Я рекомендовал бы селен также для тестирования UI. Существует вполне немного в стандартном приложении MVC, которое может быть протестированной единицей, но компоненты уровня UI всегда казались лучшим пригодным для тестирования в браузере как Селен. Можно интегрировать тестирование Селена с поблочным тестированием с помощью cruisecontrol.net.

Вот руководство для интеграции Селена с Вашим CC.Net.

1
ответ дан 7 December 2019 в 01:28
поделиться

Используйте TypeMock для насмешки далеко зависимостей. Я записал одно сообщение в блоге о том, как дразнить зависимости от Запроса и Ответа в уровне Controller. Возможно, это полезно.

1
ответ дан 7 December 2019 в 01:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: