Я установил 64-битный сервер сборки TFS 2008 с Sharepoint, непрерывной интеграцией и готовым MSTest. Единичные тесты для классов простой бизнес-логики выполняются очень хорошо, и результаты тестов публикуются в TFS. Тем не менее, любой тест, который использует API Sharepoint, ужасно, SPFarm.Local
возвращает нуль и так далее. Есть ли способ исправить это?Непрерывная интеграция с 64-разрядными Sharepoint и TFS 2008?
Тестирование выполняется отлично в идентичной 32-разрядной среде разработки (Windows Server 2008 под Hyper-V, Sharepoint, исправленной до кумулятивного обновления до июня 2009 года) как из Visual Studio, так и из командной строки, поэтому проблема заключается не в неправильном использование SPContext.Current
или любой другой части API, которая должна выполняться в контексте веб-сервера. Я исключил permissions issues, потому что учетная запись агента сборки может развернуть решение и создать семейства сайтов просто отлично с помощью stsadm. Следующим виновником может быть то, что модульные тесты выполнялись с 32-bit process, которые не могли получить доступ к 64-разрядному API Sharepoint должным образом. Я попробовал , но имеет побочный эффект отключения поддержки TFS в MSTest.
Должен ли я ждать версий MS-версий 2010 года (и надеемся на лучшее) или существует ли доступная сторонняя тестовая среда, которая запускается изначально на 64 бит и может публиковать результаты тестов в TFS 2008?
Последующие меры. После использования NUnit в течение недели в моем текущем проекте SharePoint я продаюсь. Все работает так, как я ожидаю, и пока я еще не попал в блокпосты. Единственное, что мне хотелось бы, - это задействовать отладчик на тестах из NUnit. Я уверен, что есть способ, но пока этого не нашел. –