Практическое руководство. Настройка выполнения модульного теста базы данных
Этот раздел применим к:
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Настроив тестовый проект, можно задать несколько параметров, управляющих разными аспектами выполнения модульных тестов базы данных. Эти параметры конфигурации хранятся в файле app.config тестового проекта. При непосредственном редактировании этого файла новые значения появляются в диалоговом окне Конфигурация проекта.
Решение может содержать несколько тестовых проектов. Каждый тестовый проект содержит файл app.config (то есть, один набор параметров конфигурации). В результате решение может содержать разные наборы модульных тестов базы данных (по одному на каждый тестовый проект), по-разному настроенные для выполнения.
Эти параметры управляют подключением теста к базе данных, которую вы будете тестировать, развертыванием схемы из проекта базы данных в эту базу данных и заполнения базы данных с использованием плана создания данных.
Подключения баз данных. Этот параметр можно использовать для задания строк подключения, используемых для подключения к тестируемой базе данных. Дополнительные сведения см. в разделе Указание строк подключения
Развертывание схемы. Проект базы данных — это автономное представление базы данных. Проект базы данных представляет структуру объектов базы данных, но не содержит данных. После внесения в проект базы данных изменений схемы, можно протестировать их в реальной базе данных. На шаге развертывания схемы объекты базы данных, которые необходимо протестировать, копируются из проекта базы данных в базу данных, для которой выполняется тестирование. Дополнительные сведения о развертывании схемы см. в разделе Развертывание схемы базы данных.
Состояние базы данных. Создав для базы данных тестовые данные, можно проверить ее состояние перед началом теста. Можно также задать состояние базы данных, восстановив его из резервной копии в скрипте TestInitialize. Дополнительные сведения об этом подходе см. в разделе Скрипты в модульных тестах баз данных.
Чтобы задать создаваемые данные, нужно создать план создания данных и в нем идентифицировать таблицы и столбцы, которые должны содержать данные. Также необходимо указать, какую форму должны принять эти данные. Например, можно создать необходимое количество цифр номера телефона или импортировать фиктивные имена клиентов из базы данных тестовых данных. Дополнительные сведения см. в разделе Использование плана создания данных.
Примечание
Тесты выполняются не в папке решения, а в отдельной папке на локальном жестком диске.Хотя можно настраивать разные аспекты развертывания теста, обычно для модульных тестов базы данных это не требуется.Дополнительные сведения о развертывании тестов см. в разделе Выполнение тестов.
Указание строк подключения
Указание подключения к базе данных
В меню Тест выберите команду Конфигурация теста базы данных.
Откроется диалоговое окно Конфигурации проекта "TestProject".
В Подключения баз данных можно сделать следующее.
Щелкните подключение к базе данных, в которой требуется выполнить модульные тесты.
Установите флажок Использовать вторичное подключение к данным для проверки модульных тестов и щелкните подключение к базе данных в списке, если нужно проверить выполнение теста для другого подключения к базе данных.
Щелкните Новое подключение для добавления подключения в любой из списков. Можно также щелкнуть Edit Connection для изменения параметров имеющегося подключения.
Этот шаг создает строку подключения ExecutionContext, которая используется для выполнения тестового скрипта в модульном тесте базы данных. Если указать и второе подключение, будет создана также строка подключения PrivilegedContext. Это подключение используется для тестирования взаимодействия с базой данных помимо тестового скрипта в модульном тесте базы данных. Дополнительные сведения см. в разделе Общие сведения о строках подключения и разрешениях.
Нажмите кнопку ОК, чтобы закрыть диалоговое окно Конфигурация проекта "тестовыйПроект".
Перестройте тестовый проект, чтобы применить изменения в конфигурации.
Развертывание схемы базы данных
Развертывание в базе данных схемы проекта базы данных
В Обозревателе решений щелкните проект базы данных правой кнопкой мыши и выберите команду Построить.
При построении проекта базы данных создается скрипт Transact-SQL. Этот скрипт при выполнении для базы данных воссоздает в ней структуру проекта базы данных.
Выберите тестовый проект, который следует настроить.
В меню Тест выберите команду Конфигурация теста базы данных.
Откроется диалоговое окно Конфигурации проекта "TestProject".
В Развертывание можно сделать следующее.
Установите флажок Автоматически развертывать проекты базы данных перед выполнением тестов, чтобы любые изменения схемы, внесенные в проект базы данных, перед выполнением тестов фиксировались.
В Проект базы данных щелкните проект базы данных, который требуется развернуть, или нажмите кнопку с многоточием, чтобы найти другой проект. Файлы проекта базы данных имеют расширение DBPROJ.
В Конфигурация развертывания щелкните конфигурацию проекта, для которой нужно выполнить развертывание. Варианты таковы: Отладка, По умолчанию или Выпуск. Однако если создать конфигурацию для модульного тестирования, она также отобразится как один из вариантов.
Нажмите кнопку ОК, чтобы закрыть диалоговое окно Конфигурация проекта "тестовыйПроект".
В начале тестового запуска выполняется скрипт Transact-SQL, созданный на шаге 1. Это действие развертывает схему в целевой базе данных.
Перестройте тестовый проект модульных тестов базы данных, чтобы применить изменения в конфигурации.
Примечание
Если вы используете создание данных и развертываете схему как часть проекта модульных тестов, снимите флажок Блокировать добавочное развертывание при возможности потери данных.Этот флажок расположен на вкладке Построение свойств проекта базы данных.Если не снять его перед развертыванием схемы, оно завершится неудачей.Дополнительные сведения см. в разделе Практическое руководство. Контроль потери данных при развертывании в имеющейся базе данных.
Использование плана создания данных
Использование плана создания данных с модульным тестом базы данных
Создание плана создания данных. Дополнительные сведения см. в разделе Практическое руководство. Создание плана создания данных.
Укажите таблицы, которые требуется заполнить данными с помощью плана создания данных. Дополнительные сведения см. в разделе Практическое руководство. Указание таблиц для создания данных.
Укажите заполняемые столбцы этих таблиц. Дополнительные сведения см. в разделе Практическое руководство. Задание столбцов для создания данных.
Сохраните план создания данных и запомните его имя.
В обозревателе решений щелкните тестовый проект, который нужно настроить.
В меню Тест выберите команду Конфигурация теста базы данных.
Откроется диалоговое окно Конфигурации проекта "TestProject".
В Состояние базы данных можно сделать следующее.
Установите флажок Создавать тестовые данные перед выполнением модульных тестов для применения плана создания данных для проекта базы данных перед выполнением тестов. Планы создания данных имеют расширение DGEN.
Щелкните в списке план создания данных, который требуется применить, или нажмите кнопку с многоточием, чтобы найти план.
Установите флажок Очистить базу данных перед созданием тестовых данных, чтобы переопределить имеющуюся тестовую базу данных в указанном проекте базы данных.
Нажмите кнопку ОК, чтобы закрыть диалоговое окно Конфигурация проекта "тестовыйПроект".
Код, вызывающий план создания данных, будет добавлен в метод AssemblyInitialize тестового проекта, находящийся в файле DatabaseSetup.cs или DatabaseSetup.vb. Если теперь выполнить модульные тесты базы данных, план создания данных единожды заполнит базу данных, в начале тестового запуска.
Примечание
Результат создания тестовых данных отменить нельзя.
(Необязательно.) Для многократного использования плана создания данных в тестовом запуске скопируйте вызывающий его код из метода AssemblyInitialize и вставьте его в другие методы модульного теста базы данных.
Перестройте тестовый проект, чтобы применить изменения в конфигурации.
См. также
Задачи
Практическое руководство. Создание плана создания данных