Вы должны использовать тестовые данные (тестовые учетные записи пользователей) в своих тестах, а не реальные.(На самом деле, настоятельно рекомендуется использовать отдельную тестовую БД для ваших тестов, а не реальную живую производственную БД.) Тогда вы можете настроить ее любым способом, который вам нужен до начала теста.Кстати, рекомендуется выполнить настройку в отдельном методе setUp()
(или в аннотации @Before
в JUnit 4).
Обратите внимание, однако, что «классические» модульные тесты не должны зависеть от внешних объектов, таких какБД или файловая система: они должны сосредоточиться на тестировании одного модуля (класса, метода), изолированного от остального мира.Обычно это достигается с помощью внедрения зависимостей и насмешек , то есть сокрытия их за интерфейсами, так что в модульных тестах вы можете указатьфиктивная реализация, которая, например, не подключается к БД, просто проверяет сделанные ей вызовы и переданные параметры.
Тестирование всей интегрированной системы по-прежнему полезно, просто это не единица, а интеграциятестирование .Модульные тесты могут быть более детальными, более простыми для понимания и сопровождения, а также более быстрыми, поэтому, когда вы можете, лучше начать с модульных тестов, а затем, когда вы убедитесь, что меньшие части работают нормально, соберите несколько интеграционных тестов для проверкичто система работает от начала до конца.