Визуальное тестирование Visual Studio 2010 на сайтах - PullRequest
1 голос
/ 28 декабря 2010

Проект A - веб-приложение / веб-сайт
Проект B - приложение модульного тестирования

Я хорошо знаю, как проводить модульные тесты в нескольких проектах, если это что-то типа incrementCounter(ByRef nCounter As Integer) или getSquare(ByVal nValue As Integer).Однако меня просят создать модульный тест в проекте B, который вызывает функцию в проекте A и проверяет новую запись в таблице.Моя проблема заключается в том, что когда я это делаю, он прекрасно собирается, но имеет исключение времени выполнения при попытке подключиться к базе данных (используя файл конфигурации).У меня вопрос: нужно ли мне иметь тот же файл конфигурации в Проекте B, что и в Проекте A, или можно выполнить модульное тестирование функции на веб-сайте таким образом?

Я бы предпочел поставитьМодульное тестирование в Проекте А, но у меня нет разрешения сделать это в данный момент (босс в отпуске и недоступен).Я также хотел бы привести условные выражения, чтобы увидеть, вызывается ли функция модульным тестированием или через браузер, но это может потребовать больше усилий, чем требуется.Любая помощь приветствуется.Спасибо.

ОБНОВЛЕНИЕ Фактическая ошибка, которую я получаю ...

Class.Function-->The key 'OraConnection.ConnectionString' does not exist in the appSettings Configuration section.

Я собираюсь посмотреть, если это простопараметр или если он находится в файле app.config, потому что я скопировал его в другой проект, но все еще получаю ошибку.Спасибо.

ОБНОВЛЕНИЕ 2
После осмотра еще раз, Проект A является библиотекой классов.Тем не менее, я поговорил с коллегой, и он сообщил мне, что файлы web.config загружают все параметры, которые находятся в файле app.config при запуске.Кроме того, ни один из файлов app.config, которые у меня есть, кажется, не имеет соединения с базой данных, так что это похоже на проблему с источником (или их умный способ скрыть вещи).Я пытаюсь найти правильно настроенный файл app.config, а затем проверим.Спасибо всем.

Ответы [ 3 ]

0 голосов
/ 28 декабря 2010

Большой вопрос в том, как Проект B общается с Проектом A. Является ли Проект A dll, на который есть ссылка в Проекте B, или это Проект A, какой-то сервис, который должен работать отдельно. Если это первый случай, вы не должны получать эту ошибку. Если это второй случай, вам следует убедиться, что проект A запущен при запуске модульного теста в проекте B.

0 голосов
/ 28 декабря 2010

Вероятно, это не очень хорошо отвечает на ваш вопрос, но я обнаружил, что гораздо проще абстрагировать большую часть логики от бизнес-уровня и модульного тестирования.Даже если вы используете Entity Framework для своего CRUD, вы можете поместить свою модель в бизнес-уровень (или данные, или любой другой) и протестировать свои функции.

Сейчас мы разрабатываем приложение aspx / silverlight с использованием EF4 и иметь модель и доменные службы в бизнес-проекте.Это не только упрощает тестирование, но и позволяет использовать одну и ту же логику между сетью и отдельными службами Windows, работающими на сервере.

0 голосов
/ 28 декабря 2010

Используется файл конфигурации тестового проекта. Поэтому вам нужно поместить строку подключения в конфигурационный файл проекта, который содержит тест.

Также см. Ответ на этот вопрос: Может ли кто-нибудь предоставить краткое руководство по App.config / Web.config?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...