Я работаю в команде поддержки базы данных с тремя администраторами баз данных, и наши рассмотренные варианты:
Мы используем уникальные имена для таблиц. Таблицы имеют префикс с именем системы (или ее сокращением). Это полезно, если системный комплекс, поскольку вы можете изменить префикс для логической группировки таблиц (например, reg_customer, reg_booking и regadmin_limits).
Для полей мы ожидаем, что имена полей будут включать префикс / acryonm таблицы (т.е. cust_address1), и мы также предпочитаем использовать стандартный набор суффиксов (_id для PK, _cd для «code», _nm для «name», _nb для «number», _dt для «Date») .
Имя поля ключа Foriegn должно совпадать с полем основного поля.
т.е.
SELECT cust_nm, cust_add1, booking_dt
FROM reg_customer
INNER JOIN reg_booking
ON reg_customer.cust_id = reg_booking.cust_id
При разработке нового проекта я бы рекомендовал вам выписать все предпочтительные имена сущностей, префиксы и акронимы и предоставить этот документ вашим разработчикам. Затем, когда они решают создать новую таблицу, они могут ссылаться на документ, а не «угадывать», что должны быть вызваны таблицей и полями.
Небольшой недостаток в реализации TestFixtureSetUp (и TestFixtureTearDown) заключается в том, что какие-либо исключения не сообщаются должным образом. Я написал их первую реализацию и так и не смог заставить ее работать так, как предполагалось. В то время концепции в коде NUnit были тесно связаны с идеей, что действия были напрямую связаны с одним тестом. Таким образом, отчет обо всем был связан с результатом теста. На самом деле не было места для того, чтобы сообщить о том, что произошло на уровне набора, без огромной переписывания (это не рефакторинг, когда вы превращаете овцу в эскалатор).
Из-за этой истории это ' Трудно выяснить, что на самом деле произошло в TestFixtureSetUp. Нет подходящего места для прикрепления ошибки. Вызов TestFixtureSetUp является побочным эффектом запуска теста, а не напрямую связан с ним.
@TrueWill имеет правильную идею. Проверьте журналы, а затем измените тест, чтобы при необходимости добавить дополнительные журналы. Возможно, вы захотите поместить в try / catch внутри TestFixtureSetup и много регистрировать в блоке catch. Я просто подумал, что могу добавить к нему фон (другими словами, это как бы моя вина).
Возможно, вы захотите поместить в try / catch внутри TestFixtureSetup и много регистрировать в блоке catch. Я просто подумал, что могу добавить к нему фон (другими словами, это как бы моя вина). Возможно, вы захотите поместить в try / catch внутри TestFixtureSetup и много регистрировать в блоке catch. Я просто подумал, что могу добавить к нему фон (другими словами, это как бы моя вина).Сначала я бы проверил журнал сборки.
Если это не очевидно, вы можете попробовать включить Console.WriteLines в тесты - я не уверен, но я думаю, что это записываются в журнал сборки. В качестве альтернативы вы можете войти в файл (даже используя log4net, если хотите пофантазировать).
Если у вас установлена Visual Studio на сервере CI, вы можете попробовать запустить сборку / тесты оттуда. Если это проблема с подключением, это может ее решить.
Я видел проблемы с путями, когда относительные пути к файлам больше не были правильными или использовались абсолютные пути. Их труднее отлаживать, и может потребоваться регистрация путей, а затем проверка их наличия на сервере сборки.