2012-05-10 1 views
0

Я использую библиотеку WebAii для тестирования пользовательского интерфейса. Я хочу проверить, отображает ли мой компонент те же записи, что и в базе данных, поэтому мне нужно переключить строку подключения моего приложения, чтобы указать на тест базы данных только на время проведения тестов. Каков наилучший способ сделать это? Как динамически изменить строку подключения до запуска приложения? СпасибоДинамически изменить строку соединения для тестов пользовательского интерфейса

ответ

0

Вы storing the connection string in the Web.config file? Если это так, я должен развернуть новый Web.config непосредственно перед началом теста, а затем use the command line to send an IISRESET.

FYI, это те вопросы, на которые мы отвечаем весь день на our public forum dedicated to WebAii. Техническая поддержка

Cody Telerik

0

Какие приложения это? Это, во-первых, вероятно, свидетельствует о некорректном коде. Далее, обычно существует отдельная среда для тестирования кода.

Если вы, например, развертываете до ASP.NET with Visual Studio, вы можете использовать Web.config file transformations, чтобы установить другое значение при развертывании до , например. test.contoso.com против www.contoso.com. transformation syntax позволяет вам определить новую строку подключения или изменить существующую из базового Web.config при развертывании другой конфигурации.

Если у вас есть отдельная среда и контроль над ней, вы, вероятно, можете написать пару сценариев оболочки (Power), чтобы скопировать файл web.config с «тестовыми» строками подключения к корню приложения перед тестом. Затем запустите второй скрипт, чтобы сбросить исходный файл web.config после запуска теста.

Если у вас есть доступ к вашему каталогу развертывания в контексте, в котором вы будете запускать свои тесты, вы можете даже просто иметь файл Web.test.config, включенный в ваш тестовый проект. В [AssemblyInitialize]:

  1. копирования файлов _ \\ {приложение сервера} {каталог приложений} \ Web.config для \\ {приложение сервера} {каталог приложений} \ Web.config.orig ,
  2. Web.test.config до \\ {ваш сервер приложений} {каталог приложений} \ Web.config.
  3. Сон на несколько секунд?

Затем сделайте обратное в [AssemblyCleanup].

Другие стратегии существуют. Вы можете создать переопределение приложения в режиме отладки, которое проверяет различные вещи (специальный файл, дополнительную конфигурацию, файлы cookie, дополнительную строку запроса). Или у вас может быть диспетчер настроек в вашем приложении, который вы можете измерить при настройке теста при настройке теста (щелчок по пользовательскому интерфейсу для изменения настроек БД).

Скорее всего, однако, вы можете получить наилучшие вознаграждения за счет факторинга кода, чтобы уменьшить зависимости. Затем вы можете написать модульные тесты, которые заглушают/издеваются/подделывают базу данных. Вы можете использовать инструменты покрытия кода, чтобы проверить, что вы протестировали определенные сценарии, или увидеть, что дополнительные интеграционные тесты будут дублировать охват в этот момент.

Смежные вопросы