Я работаю над тестовой средой для проекта и изучаю использование DbUnit.NET для тестирования взаимодействия с базой данных. Но у меня есть один очень большой вопрос:
Мы работаем против Oracle, и создание отдельного тестового экземпляра БД для каждого разработчика действительно невозможно (тем более, что у нас есть только 1 администратор базы данных, который уже привязан ко времени). Это означает, что все разработчики и наш сервер непрерывной интеграции должны использовать одну и ту же схему БД.
Итак, перейдем к вопросу: есть ли хороший способ предотвратить одновременное тестирование более чем 1 человека? Было бы легко поместить в таблицу базы данных запись, указывающую на то, что тест выполняется, а затем удалить ее после завершения тестов, но NUnit не имеет возможности запускать что-либо в начале и в конце тестового сеанса.
Любые другие мысли? Похоже, это должно быть довольно распространенной проблемой... или все действительно запускают отдельные экземпляры БД для каждого разработчика/тестировщика, который может запускать тесты?