1. Новый функционал
39голосов

Расположение тестов в пользовательском порядке

Хотелось бы иметь возможность располагать тесты в "Запуске" и во вкладке "Тест-кейсы" в пользовательском порядке.

Можно реализовать, например, при помощи ручного расположения тестов (drag-n-drop) в нужном порядке и сохранении этого порядка.
Либо при помощи параметра "Порядок выполнения" - int, который бы настраивался в рамках test-suite, и тесты можно было бы расположить по возрастанию в соответствии с этим параметром.

suite 1:
100
110
120
130
suite 2:
100
120
130
140

1 комментарий
  • Данько Сергей
    Фактически, это означает, что для тест-кейса нужен дополнительный специальный скрытый атрибут User_IDX, который изменяется при перетаскивании тестов внутри плоского списка - что, по факту, без принятия специальных мер, приводит к изменению User_IDX всех тест-кейсов, расположенных после места вставки.
    Можно, конечно, сделать User_IDX с шагом, например, 256 (ну или другое круглое число) и при перетаскивании добавлять в середину свободного диапазона. Если такое добавление невозможно, проводить глобальную реиндексацию всех тест-кейсов и продолжать в том же духе.
    Также понадобится отдельный вид сортировки - "Пользовательская" или другое слово, покороче )
    Эту же "сортировку" можно использовать и при упорядочивании тест-кейсов внутри ветви дерева.
    При создании тест-кейсов в таком случае их лучше добавлять в конец списка - это позволит менее болезненно назначать им User_IDX (меньше будет нужно менять индексы уже созданных тест-кейсов).
    Но будут определенные проблемы при создании тест-кейсов внутри дерева - поскольку порядок User_IDX в этом случае работает только внутри ветки и это означает, что последний User_IDX в ветке равен 2560, а следующий - по логике отображения дерева - 512. А 2768 вообще тремя ветками выше. И не исключен вариант, что весь диапазон 2560-2768 уже занят, но узнаем мы об этом, только проверив весь список. Другими словами, добавляя новые тест-кейсы в дереве, мы работаем, по факту, с плосским списком, но "из его середины" - т.е. точка создания новых тест-кейсов где-то посередке этого списка.
    Самый простой use-case в предложенной доработке - формирование тест-кейсов на основе загрузки отчёта. В этом случае будет работать простое присвоение последовательных User_IDX.
    ----
    По поводу отображения и запуска. Если средство запуска тестов не поддерживает произвольный порядок выполнения отдельных тест-кейсов (а для автотетстов это весьма обычная ситуация), то вводить еще один индексатор, как представляется, будет излишним. Если поддерживает - можно воспользоваться User_IDX. В таком случае порядок выполнения будет определяться на этапе тест-дизайна.