улучшения testinfra
Aug. 18th, 2021 10:02 pmtestinfra, в целом, хорош. Есть несколько вещей, которых не хватает.
Во-первых, это 'remote requests'. Я понимаю, что есть curl, но requests удобнее. И localhost не всегда заменяет remote host, потому что иногда надо на localhost другого сервера сходить.
Второе, это невозможность параметризировать тесты объектами времени фикстур. Точнее, невозможность (без специальных выкрутас) сходить на хост в setup стадии. Это часто нужно для выполнения тестов "для всего, что найдено" (например, простейший тест, что все контейнеры на хосте не рестартятся). Использование for внутри одного теста - антипаттерн, а ручная конструкция в pytest_generate_tests - это в большинстве случаев оверкилл или некрасиво. Ключевая проблема - фикстура host доступна только на этапе выполнения тестов, а параметризацию можно делать только в gather stage (это ограничение pytest).
Третье - host - это фикстура, и вывод несколько портится, если есть дополнительные фикстуры. Ну и комфортный доступ к инвентори анисбла - тоже хорошо бы было.
В целом, этого достаточно. Даже странно, но реально других претензий нет.
Во-первых, это 'remote requests'. Я понимаю, что есть curl, но requests удобнее. И localhost не всегда заменяет remote host, потому что иногда надо на localhost другого сервера сходить.
Второе, это невозможность параметризировать тесты объектами времени фикстур. Точнее, невозможность (без специальных выкрутас) сходить на хост в setup стадии. Это часто нужно для выполнения тестов "для всего, что найдено" (например, простейший тест, что все контейнеры на хосте не рестартятся). Использование for внутри одного теста - антипаттерн, а ручная конструкция в pytest_generate_tests - это в большинстве случаев оверкилл или некрасиво. Ключевая проблема - фикстура host доступна только на этапе выполнения тестов, а параметризацию можно делать только в gather stage (это ограничение pytest).
Третье - host - это фикстура, и вывод несколько портится, если есть дополнительные фикстуры. Ну и комфортный доступ к инвентори анисбла - тоже хорошо бы было.
В целом, этого достаточно. Даже странно, но реально других претензий нет.