лампа Quicklist
1. Откройте новый файл:
gedit ~/.local/share/applications/lamp.desktop
2. Скопируйте текст ниже
[Desktop Entry]
Name=LAMP
GenericName=LAMP
X-GNOME-FullName=LAMP
Comment=Open services of your LAMP server
Exec=gksu service apache2 start && gksu service mysql start
Icon=emblem-web
Terminal=false
Type=Application
StartupNotify=true
X-Ayatana-Desktop-Shortcuts=Start;Stop;Restart
[Start Shortcut Group]
Name=Start
Exec=gksu service apache2 start && gksu service mysql start
TargetEnvironment=Unity
[Stop Shortcut Group]
Name=Stop
Exec=gksu service apache2 stop && gksu service mysql stop
TargetEnvironment=Unity
[Restart Shortcut Group]
Name=Restart
Exec=gksu service apache2 restart && gksu service mysql restart
TargetEnvironment=Unity
3. Перетаскивание на средство запуска путем навигации к ~/.local/share/applications/в Наутилусе. [или можно просто перетащить отбрасывание путем поиска ЛАМПЫ в тире]
Необходимо использовать пространство имен System.Web.Abstractions
В частности, возьмите HttpResponseBase ( http://msdn.microsoft.com/en-us/library/system. web.httpresponsebase.aspx ) в качестве входного параметра вместо HttpResponse. Затем вы можете издеваться над HttpResponseBase из своих тестов. Если у вас есть реальный HttpResponse для передачи, используйте HttpResponseWrapper для создания HttpResponseBase.
Чтобы быть по-настоящему единым, вы должны имитировать HttpResponse и все остальное только для тестирования кода ваших методов. Я не знаю ни одной имитирующей утилиты C #, но этот вопрос может помочь .
Затем вы можете сделать что-то вроде этого (пример - Java с Mockito):
HttpResponse response = mock(HttpResponse.class);
OutputStream outputStream = mock(OutputStream.class);
when(response.getOutputStream()).thenReturn(outputStream);
RssGenerator.generate(response, otherParameters);
Конечно, вам, вероятно, понадобится чтобы сконфигурировать ваш макет более подробно, но вы поняли общую идею.
Конструктор для HttpResponse
не предназначен для вашего использования, он используется только для цикла страниц ASP.NET, поэтому документации по созданию 1.
Вы должны настроить объект HttpResponse
так, чтобы он использовал HttpWriter
, иначе он не позволит вам получить доступ к базовому потоку. Однако конструктор установил для переменной _httpWriter
значение null
, поэтому вам нужно найти другой способ установить его.
Вы можете использовать .NET Reflector ], чтобы изучить класс HttpResponse
и посмотреть, что он делает.
Итак, проблема с Mocking HttpResponse заключается в том, что он запечатан, поэтому вы не можете его расширить (и большинство имитирующих фреймворков, которые Mock-конкретные классы просто перезаписывают виртуальные методы). Microsoft также была достаточно любезна, чтобы не предоставить интерфейсы для большинства из них ... так что спасибо MS.
По этой причине (среди прочего) я обычно заканчиваю писать свои собственные интерфейсы для всех запечатанных классов MS, а затем пишу реализации оболочек, которые возьмите класс MS в конструкторе и как можно скорее включите их в запрос. Затем вы можете создавать макеты интерфейсов и заставлять их делать все, что вам нравится.
Если бы я не смог провести рефакторинг сигнатуры метода (возможно, методу действительно нужно только одно значение из HttpResponse?), Я бы заставил Eclipse сгенерировать нулевую реализацию HttpResponse (да, я в Java, но это та же идея) - т.е. реализует все методы, возвращающие ноль - и просто заполните только те, которые мне нужны в тестируемом методе, и попросите их вернуть некоторые постоянные значения. (Да, тоже можно использовать какой-нибудь фреймворк.)
Причина, по которой вы не можете создать свой собственный экземпляр существующей реализации, заключается в том, что он будет сильно привязан к вашему серверу приложений и, вероятно, потребует всевозможных другой мусор для создания экземпляра.
Если выяснится, мне нужно что-то более сложное, чем простая нулевая версия HttpResponse,