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


Общие сведения о строках подключения и разрешениях

Для выполнения модульных тестов базы данных необходимо подключиться к серверу базы данных с помощью одной или двух специфических строк подключения. Каждая строка подключения представляет учетную запись с определенными разрешениями, которые необходимо иметь для выполнения задач или набора задач в определенном скрипте в составе теста. Эти строки подключения можно задать в диалоговом окне Конфигурация проекта или путем редактирования файла app.config в тестовом проекте.

Строки подключения

В диалоговом окне Project Configuration можно задать строки подключения для каждой из указанных ниже учетных записей.

Примечание

Контекст выполнения и привилегированный контекст различаются только тем, используется ли проверка подлинности SQL Server.При использовании проверки подлинности Windows для обеих строк подключения будут использоваться одни и те же учетные данные.

  • Контекст выполнения (обязательно) — учетная запись пользователя для выполнения скрипта теста. Эта строка подключения должна иметь те же учетные данные, которые будут иметь пользователи. Это важно, поскольку гарантирует, что к базе данных применены соответствующие разрешения. Дополнительные сведения см. в разделе Практическое руководство. Настройка выполнения модульного теста базы данных.

    В файле app.config для тестового проекта это элемент ExecutionContext.

  • Привилегированный контекст (необязательно) — учетная запись с более высокими разрешениями на выполнение действий, выполняемых перед тестированием и после тестирования, скриптов TestInitialize и TestCleanup. Эти скрипты устанавливают состояние базы данных и для действия, выполняемого после тестирования, могут использоваться для проверки объектов в базе данных. Данная строка подключения используется также для развертывания изменений в базе данных и создания данных.

    В файле app.config для тестового проекта это элемент PrivilegedContext . Если модульные тесты базы данных выполняют только скрипт теста, задавать привилегированный контекст не нужно.

Строки, заданные в диалоговом окне Конфигурация проекта, хранятся в файле app.config тестового проекта. Можно также отредактировать данный файл непосредственно и построить проект заново, после чего в диалоговом окне появится новое значение.

Сравнение проверки подлинности Windows и SQL

При задании строки подключения необходимо выбрать тип используемой проверки подлинности: Windows или SQL. Одной из причин выбора проверка подлинности Windows является то, что она лучше поддерживает использование тестов рабочей группой. При выборе проверки подлинности SQL строки подключения шифруются с использованием API защиты данных (DPAPI) на основе ваших учетных данных пользователя. Это означает, что тесты в этом тестовом проекте будут выполняться только для самого разработчика, а не для участников команды, которые получают тесты через систему управления версиями после их возврата. Чтобы запустить тесты в тестовом проекте, другие участники команды должны перенастроить тестовый проект с использованием собственных учетных данных. Для этого им необходимо отредактировать собственные копии файла app.config или воспользоваться диалоговым окном Конфигурация проекта.

Разрешения

Скрипт теста выполняется на уровне разрешений контекста выполнения — на том же уровне, который будет действовать для команд пользователя, выполняемых в базе данных при ее типичном использовании. Скрипты, выполняемые перед тестированием, после тестирования, а также скрипты TestInitialize и TestCleanup, выполняются на уровне разрешений привилегированного контекста.

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

См. также

Основные понятия

Скрипты в модульных тестах баз данных

Файлы модульных тестов базы данных