Хотя у меня нет идеального метода для тестирования представлений, это, возможно, менее важно, когда ViewComponents можно адекватно протестировать.Для проверки просмотров внутри самого сайта я могу использовать Selenium.Хотя теоретически это можно сделать частью набора тестов NUnit, он не был успешно запущен под MonoDevelop в моих тестах (не удалось установить постоянное соединение с Selenium RC, несмотря на то, что интерактивная сессия RC работала нормально).Тем не менее, тесты Selenium можно запускать как набор из Firefox, что не так уж и плохо: модульное тестирование с NUnit, затем сценарии интеграции / тестирования системы с использованием пакета Selenium, и эта установка будет работать в настройках Linux / MonoDevelop.
Что касается тестирования базовых элементов, вы можете проверить перенаправления и проверить набор значений флэш-памяти или тому подобное, так что все в порядке, а для тестирования ViewComponents рендеринг с частичной симуляцией возвращает возвращенный результат в доступной форме,поэтому их оказалось гораздо проще тестировать в NUnit (с базовым классом тестирования BaseViewComponentTest) следующим образом:
[Test]
public void TestMenuComponentRendersOK()
{
var mc = new MenuComponent();
PrepareViewComponent(mc);
var dict = new System.Collections.Specialized.ListDictionary();
dict.Add("data",getSampleMenuData());
dict.Add("Name","testmenu");
// other additional parameters
mc.RenderComponent(mc,dict);
Assert.IsTrue(this.Output.Contains("<li>"),"List items should have been added");
}