Предположим, что требуется протестировать открытие определенного проекта в Visual Studio. Для этого надо:
1) создать UnitTest проект.
2) добавить в References: Microsoft.VSSDK.TestHostFramework (С:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PublicAssemblies\Microsoft.VSSDK.TestHostFramework.dll)
3) у тестового метода определить атрибут HostTypeAttribute:
| var dte = VsIdeTestHostContext.Dte; |
| dte.Events.SolutionEvents.Opened += () => |
| dte.ExecuteCommand("File.OpenProject", @"""C:\Projects\Test.csproj"""); |
В результате во время выполнения теста в отдельной Visual Studio откроется проект Test.csproj, а также будет вызван обработчик события Opened.
Если не указать HostTypeAttribute, то VsIdeTestHostContext.Dte вернет null.
Параметры для HostTypeAttribute определены в реестре: "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\EnterpriseTools\QualityTools\HostAdapters\"
Комментариев нет:
Отправить комментарий