Поделиться через


Практическое руководство. Обновление пользовательского условия теста из предыдущего выпуска

Этот раздел применим к Visual Studio Premiumи Visual Studio Ultimate, но не применим к версиям Visual Studio 2010 Professional или Visual Studio Express.

Для обеспечения корректной работы существующего условия модульного теста, созданного в более ранней версии Visual Studio, его необходимо обновить. Для этого необходимо выполнить следующие действия:

  • Обновление ссылок

  • Добавление атрибута совместимости расширений

  • Применение нового процесса регистрации

Обновление ссылок

Обновление ссылок проекта

  1. (Только для Visual Basic.) В обозревателе решений выберите команду Показать все файлы.

  2. В обозревателе решений разверните узел Ссылки.

  3. Щелкните правой кнопкой мыши ссылку Microsoft.Data.Schema.UnitTesting и выберите команду Удалить.

  4. В обозревателе решений щелкните правой кнопкой мыши узел Ссылки и выберите команду Добавить ссылку.

    – или –

  5. В меню Проект щелкните команду Добавить ссылку.

    Откроется диалоговое окно Добавление ссылки.

  6. Перейдите на вкладку .NET. В списке Имя компонента выберите Microsoft.Data.Schema и Microsoft.Data.Schema.UnitTesting, а затем нажмите кнопку ОК.

    Теперь условие теста использует текущую ссылку.

Добавление атрибута совместимости расширений

Далее необходимо проверить, имеют ли классы условия теста атрибут совместимости расширений, как показано в приведенной ниже процедуре. При определении расширений функций необходимо объявить совместимость этого расширения либо с конкретным поставщиком схемы базы данных, либо с поставщиком схемы основной базы данных, чтобы расширение загружалось только с соответствующими ему типами проектов. Дополнительные сведения об атрибуте совместимости расширений см. в разделе Расширение функций баз данных в Visual Studio.

Добавление атрибута совместимости расширений

  • Добавьте атрибут совместимости расширений, предоставляемый поставщиком баз данных, как показано в следующем примере.

    <DatabaseServicesProviderCompatibility (GetType(DspCompatibilityCategory.None))> _
    <DisplayName("NewTestCondition")> _
    Public Class NewTestCondition
        Inherits TestCondition
    
    End Class
    
    [DatabaseServicesProviderCompatibility(DspCompatibilityCategory.None)]
    [DisplayName("NewTestCondition")]
    public class NewTestCondition:TestCondition
    {
       // Additional implementation to be added here
    }
    

Применение нового процесса регистрации

В более ранних версиях Visual Studio требовалась установка условия теста в глобальном кэше сборок. В этом выпуске Visual Studio Premiumили Visual Studio Ultimate процесс регистрации изменен, как показано в следующих процедурах. Дополнительные сведения см. в разделе Практическое руководство. Регистрация и управление расширениями функций.

После обновления ссылок на месте необходимо проверить, что сборка подписана и скомпилирована.

На следующем этапе необходимо собрать сведения о сборке, содержащиеся в проекте (например, номер версии, язык и региональные параметры, а также PublicKeyToken), для регистрации пользовательской сборки расширения.

Сбор сведений о сборке

  1. После обновления ссылок и добавления атрибута совместимости расширений (как описано в приведенных выше процедурах) необходимо проверить, что сборка подписана и скомпилирована.

  2. В меню Вид выберите пункт Другие окна, а затем Окно команд, чтобы открыть командное окно.

  3. В окне Команда введите следующий код. Вместо FilePath подставьте путь и имя откомпилированного DLL-файла. Заключите путь и имя файла в кавычки.

    Примечание

    По умолчанию используется следующий путь к скомпилированному DLL-файлу: SampleGenerator\bin\Debug.

    ? System.Reflection.Assembly.LoadFrom(@"<FilePath>").FullName
    
  4. Нажмите клавишу ВВОД. Строка должна иметь следующий вид (с учетом конкретного значения PublicKeyToken):

    " GeneratorDateRanges, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn"
    

    Добавьте примечания к сведениям о сборке или скопируйте их; они будут использоваться в следующей процедуре.

После этого создается XML-файл с использованием сведений о сборке, собранных в предыдущей процедуре.

Создание XML-файла

  1. Выберите проект в обозревателе решений.

  2. В меню Проект выберите команду Добавить новый элемент.

    Откроется диалоговое окно Добавление нового элемента.

  3. В панели Шаблоны найдите и выберите пункт XML-файл.

  4. В поле Имя введите имя приложения и нажмите кнопку Добавить.

    XML-файл добавляется в проект в обозревателе решений.

    Примечание

    Чтобы правильно зарегистрировать сборку, необходимо использовать имя библиотеки DLL (в данном случае — "myDllName" с расширением ".Extensions.xml").

  5. Откройте XML-файл и обновите его в соответствии с XML-кодом, приведенным ниже в данной процедуре. Замените версию, язык и региональные параметры, а также значение PublicKeyToken сборки, которые были получены в предыдущей процедуре.

    <?xml version="1.0" encoding="utf-8"?>
    <extensions assembly=""
                version="1" xmlns="urn:Microsoft.Data.Schema.Extensions"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="urn:Microsoft.Data.Schema.Extensions 
    
      Microsoft.Data.Schema.Extensions.xsd"> <extension type=" myDllName.myClassName" assembly="myDllName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn" enabled="true"/>
    
    </extensions>
    
  6. В меню Файл выберите команду Сохранить все.

На следующем этапе необходимо скопировать сборку и XML-файл в каталог Extensions. При запуске Visual Studio Premium будет идентифицировать все расширения в каталоге <Microsoft Visual Studio 10.0>\VSTSDB\Extensions и вложенных каталогах, чтобы зарегистрировать их для использования в сеансе.

Копирование и регистрация сборки и XML-файла в каталоге Extensions

  1. В каталоге <Microsoft Visual Studio 10.0>\VSTSDB\Extensions\ создайте папку с именем CustomGenerators.

  2. Скопируйте файл сборки из каталога Мои документы\Visual Studio 2008\Projects\<название проекта>\<название проекта>\bin\Debug\ в созданный каталог<Microsoft Visual Studio 10.0>\VSTSDB\Extensions\CustomGenerators.

  3. Скопируйте XML-файл из каталога Мои документы\Visual Studio 2008\Projects\<название проекта>\<название проекта> в созданный каталог<Microsoft Visual Studio 10.0>\VSTSDB\Extensions\CustomGenerators.

    Совет

    Рекомендуется размещать сборки расширений во вложенной папке каталога <Microsoft Visual Studio 10.0>\VSTSDB\Extensions.Это облегчит определение того, какие расширения изначально входили в продукт, а какие были созданы пользователем.Кроме того, с помощью папок можно группировать расширения по категориям.

См. также

Задачи

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

Пошаговое руководство. Использование пользовательского условия теста для проверки результатов хранимой процедуры