Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Запуск тестів з Thucydides на різних машинах з різними наборами даних


(Roma Kovalchuk) #1

Така ситуація є тести які потрібно запускати в 2 місцях (локальна машина, і Jenkins) але тестові дані залежать від системи на якій запускаються тести. Чи можна якось реалізувати використання різних наборів даних в різних системах.
Думав про використання csv файлів з різними наборами даних, які вибираються параметром в командному рядку.


(heartwilltell) #2

Правильно думали. Зачем тему создавали?


(Roma Kovalchuk) #3

Можливо хтось має ще якісь кращі ідеї, ну і як власне реалізувати вибір потрібно файла через командний рядок


(Sergey Korol) #4

Не понял насчет второго места. Вы запускаете тесты на машине, где развернут CI? Или вы имели ввиду некое “абстрактное место”? Просто способ запуска via Jenkins.

Касательно самого вопроса: почему не хотите использовать БД? Создаете 2 MySQL базы. В Jenkins job заводите параметр с именем БД, которую надо подтягивать при варианте с ремоут экзекьюшеном. В проперти файле задаете имя БД для локального экзекьюшена. Когда надо подтягивать нужную БД, читаем переменную окружения по имени вашего параметра. Если она найдена, то это означает, что мы раним Jenkins job, как итог - используем заданное имя. Если переменная отсутствует, то используем имя БД из пропертей. Вообще говоря, вариантов задания имени БД в зависимости от конфигурации можно придумать много. It’s up to you.

Вариант с файлами при ремуот экзекьюшене я бы не рекомендовал. Сейчас у вас 2 конфигурации, завтра будет 10. Запаритесь саппортить версии файлов на всех тачках.


(Roma Kovalchuk) #5

Так, запускаються тести на машині з Jenkins. Можливо маєте якісь посилання з прикладом реалізації такого рішення?


(Sergey Korol) #6

Так а зачем вы запускаете тесты на машине с Jenkins? Jenkins должен сидеть на выделенном сервере.

В ответ на вопрос:

Далее в коде: