Я думаю, что вы можете структурировать свои тесты, следуя обычной структуре аранжировки, действия и утверждения.
Для каждого теста вам сначала нужно упорядочить данные, которые есть в вашей базе данных.
Затем вы будете работать с этими данными, вызывая функцию, которую вы хотите протестировать, и определяете набор параметров.
Затем утверждают, что возвращаемые данные соответствуют набору параметров и всем другим общим критериям.
Убедитесь, что вы тестируете как обычный программный поток (данные на месте, все параметры действительны), так и неожиданные сценарии (недопустимые параметры или недопустимые данные в хранилище данных).
Вы также должны убедиться, что ваша база данных находится в согласованном состоянии для каждого теста. Это можно легко сделать, поместив каждый тест в транзакцию (вы можете использовать TestInitialize и TestCleanup для этого, чтобы это автоматически происходило за кулисами).