Модульное тестирование базы данных VS 2010 с настраиваемым условием тестирования

StackOverflow https://stackoverflow.com/questions/4897513

Вопрос

После прочтения следующей статьи Создайте условия тестирования для конструктора модульных тестов базы данных в MSDN я решил попробовать создать собственное тестовое условие для моих модульных тестов базы данных

  • Моя среда соответствует требованиям Ultimate или Premium.
  • Создан новый проект библиотеки классов и ссылается на Microsoft.Data.Schema.UnitTesting и Microsoft.Data.Schema, а также на Microsoft.Data.Schema.Sql.
  • Я создал класс, унаследованный от TestCondition, и назвал его ExpectedSqlException, определенный следующим образом

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

родовое слово
  • Следуя как , я затем создал расширения .xml файл, который я затем поместил в %ProgramFiles%\Microsoft Visual Studio 10.0\VSTSDB\Extensions, и он выглядит так (ключ / значение типа - это общедоступная информация моей сборки, она должна отличаться для вашей)

         [DisplayName("Some test condition")] 
         [DatabaseSchemaProviderCompatibility(null)] 
         public class SomeTestCondition : TestCondition
         {
             public override void Assert(System.Data.Common.DbConnection validationConnection, Microsoft.Data.Schema.UnitTesting.ExecutionResult[] results)
             {
             ...
             }
        } 
    
  • И зарегистрировал сборку в GAC после подписания сборки

Итак, теперь с моим новым TestCondition я должен иметь возможность использовать его в конструкторе модульного тестирования базы данных для определения ожиданий, НО УВАЖАЕМЫЙ ЭТО НЕ РАБОТАЕТ :(

Кто-нибудь может мне с этим помочь? что мне не хватает?

Это было полезно?

Решение

Я вижу одну вещь, которую я сделал по-другому, когда сделал это, что не ясно указано в том, как ссылаться, на которую вы ссылаетесь.

Он говорит о размещении чего-либо в "Program Files", но, возможно, это работает только для 32-битных машин.Visual Studio - это 32-битное приложение, и на 64-битной машине (которую я использовал) я проигнорировал инструкции и скопировал сборку и XML-файл в% ProgramFiles (x86)% NOT% ProgramFiles%, что, похоже, сработало для меня.Я никогда не пробовал% ProgramFiles%, поэтому не могу убедиться, что это проблема.

Это все?

Дополнение:

Рассматривая свой код дальше, вам нужно будет добавить атрибут [DatabaseSchemaProviderCompatibility (null)] в свой TestCondition.Это загрузит расширение, если у вас нет поставщика схемы базы данных, загруженного в текущий проект, что может быть в случае тестовых проектов.Мне кажется, этот атрибут не очень понятен.

Джеймс.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top