Логическая внутренняя организация интеграционных тестов для маршрутов - PullRequest
0 голосов
/ 14 сентября 2018

Интересно, как люди организуют свои интеграционные тесты, особенно для маршрутов, с точки зрения шаблонов для повторного использования новыми разработчиками.

TLDR;вопросы внизу.

Я работаю над устаревшими тестами, и они правильно следуют 1 шаблону, и ни одного после этого.

То, что мы правильно делаем, это то, что у нас есть конкретныетип пользователя, который я посчитал рекомендациями некоторых людей, которые заботятся об этом.Это не изменится, поэтому я просто использую его как метаданные.

Внутри тестов они повсюду, в зависимости от того, кто их написал.

Конкретно яЯ работаю с javaScript, который не должен иметь большого значения, но это также может быть важно для некоторых более опытных людей.

В зависимости от того, кто написал его, когда он был написан, и если были изменения,кишки беспорядок.

before обычно всегда вверху, обычно сопровождается beforeEach.Но у некоторых файлов есть несколько блоков до, что заставляет меня бросать в рот, но рефакторинг этого может не стоить времени (на данный момент).

after находится в основном в самом низу, но я вижуочень верный аргумент для после быть сразу после до.В случаях, когда after не находится внизу, неясно, что это было преднамеренное размещение, так как в некоторых случаях есть что-то между до и после, но никогда не проверяется (спасибо Одину).

После всего этого,оно опускается до безумия.

Иногда в тестах есть логический путь в линейном порядке того, как все происходит при выборе маршрута (проверьте, установлены ли параметры, проверьте правильность и т. д.).

В других случаях успешные результаты находятся на самом верху, а затем это похоже на то, кто написал их, добавил их, когда у них было время.

А потом, в других случаях, любой тест, который был написан последним, является либо первым, либопоследний.

Я большой поклонник того, чтобы новые разработчики не могли принимать решения, поэтому наличие шаблона для подражания является ценным инструментом.Есть аргументы в пользу того, почему это не имеет ценности, но я не хочу быть убежденным в том, имеет ли это ценность, меня особенно интересует, что делают другие люди.

Итак, мозговой штурм перерыва на кофе, я пришелс несколькими идеями, и мне было любопытно, что делают другие люди.

TLDR;вопросы

Вот несколько идей о шаблонах (покрытых или нет):

1) Линейный порядок вещей.
плюсы: не оставляет места для путаницы, тесты проводятся впорядок операций.минусы: технически это подтверждается только прокруткой в ​​порядке

2) Заказ по кодам результата.(так 400, 401, 404, 200, 204 ... и т. д.) плюсы: супер организовано, поиск немного проще (сколько 404 встречается в коде, сколько тестов должно быть в 404 описаниях) минусы: вид не делаетt решить проблему достаточно элегантно

3) Золотой путь сверху, затем что-то ниже плюсов: это соответствует ... плюс 200 тестов, вероятно, всегда будут самыми длинными минусами: это только немного лучше, чем без паттерна

У меня были другие идеи, которые я просто не мог дать лучше, чем профессионал, поэтому он просто отбрасывал плохие идеи.

Любые предложения, советы, за или против любой из этих идейбудет оценено.Я уверен, что я полностью пропустил другие идеи.

...