generated from VLADIMIR/template
update standart
This commit is contained in:
@@ -217,6 +217,12 @@ SQL держи рядом с методом, которому он нужен.
|
||||
|
||||
- SQL-шаблоны пиши в многострочном raw string с отступами и переносами по
|
||||
смысловым частям; не записывай запрос одной длинной строкой.
|
||||
- Вызов `Query`, `QueryRow` или `Exec` оформляй многострочно: сначала `ctx`,
|
||||
затем SQL, затем каждый аргумент запроса на отдельной строке и закрывающая
|
||||
скобка.
|
||||
- В `SELECT` перечисляй поля вертикально; `FROM`, `JOIN`, `WHERE`, `ORDER BY`,
|
||||
`GROUP BY`, `ON CONFLICT` и `RETURNING` начинай с отдельных строк. Не
|
||||
склеивай несколько SQL-клауз в одну строку.
|
||||
- Запросы должны быть читаемыми: явные поля вместо `SELECT *`, параметры вместо
|
||||
конкатенации.
|
||||
- Все `Query`-результаты закрывай; ошибки итерации проверяй.
|
||||
@@ -235,6 +241,11 @@ SQL держи рядом с методом, которому он нужен.
|
||||
тест не должен поднимать PostgreSQL, если это не проверка SQL или транзакции.
|
||||
- SQL, ограничения и атомарность проверяй интеграционным тестом с отдельной
|
||||
тестовой базой через `TEST_DATABASE_URL`.
|
||||
- Не пиши SQL-запросы в тестовом сценарии и не обращайся к базе напрямую через
|
||||
`Query`, `QueryRow` или `Exec`. Подготовку данных и проверки выполняй через
|
||||
реальные публичные методы тестируемого сервиса или repository. Схему можно
|
||||
подготовить миграциями инфраструктурного слоя, но тест не должен подменять
|
||||
ими методы приложения или проверять результат прямым SQL-запросом.
|
||||
- Для endpoint-ов проверяй только транспортный mapping и доступ; полный
|
||||
бизнес-сценарий принадлежит тестам сервиса.
|
||||
- Имена тестов описывают поведение: `TestCreateRejectsFinishedGame`.
|
||||
|
||||
Reference in New Issue
Block a user