Ничто не мешает вам организовать ваши тесты любым способом, который имеет смысл для вашего проекта.
Inte rnet Мудрость не имеет к этому никакого отношения, делай то, что работает для тебя. Вы хотите один тестовый файл для каждого метода? Тогда сделай это.
Где ваши тесты живут гораздо менее важно, чем то, что вы на самом деле тестируете и как.
Только одна предостережение, я видел, как люди проводят много времени и тестируют совершенно неправильные вещи.
Давайте создадим контроллеры для вызова методов из них (не, это признак действительно плохого SO C), давайте посмеемся над тем, кто что знает.
Вы достигнете гораздо лучшего результата, если будете модульно тестировать то, что должно быть юнит-тестированием, а это функциональные вещи, классы и методы, которые делают вещи. Для API это будет означать бизнес-правила, преобразования данных, преобразования моделей и тому подобное.
В остальном, я буду придерживаться интеграционных тестов, вызывать ваши конечные точки, как это делал бы обычный пользователь, и это в основном означает интеграционное тестирование. Используйте что-то вроде Postman для организации наборов тестов.
У вас будет намного меньше шуток, ваши тесты не сильно пострадают, если вы измените детали реализации, вы сможете выполнять измерения на ваши конечные точки, и вы на самом деле протестируете реальную вещь, пройдя весь путь до вашего хранилища и обратно, что никакое количество насмешек не даст вам.