Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Формирование результатов тестов на ходу, по мере выполнения тестов #389

Closed
4 tasks done
artbear opened this issue Jan 21, 2019 · 4 comments
Assignees
Milestone

Comments

@artbear
Copy link
Collaborator

artbear commented Jan 21, 2019

Существует проблема

Сейчас результаты тестирования получаются только после прохождения всех тестов.

Если на каком-то из тестов 1С зависнет (например, на модальном окне) или упадет или будет завершено по таймауту на CI-сервере, тогда результаты тестов не будут получены.

Хотелось бы иметь следующую функциональность

  • Формировать результаты тестов после прохождения группы тестов (из одной обработки)
  • Формировать allure
  • Формировать junit
    • Формировать уникальное имя junit-файла аналогично аллюр-формированию

Дополнительный контекст
Любая дополнительная информация

@artbear artbear added the tdd label Jan 21, 2019
@artbear artbear added this to the 5.7.0 milestone Jan 21, 2019
@artbear artbear changed the title Формирование результатов тестов на ходу Формирование результатов тестов на ходу, по мере выполнения тестов Jan 21, 2019
@Infactum
Copy link
Contributor

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

Допустим, у нас есть один большой XML файл (пусть тот же монолитный вариант JUnit) - добавить в него новый узел не такая тривиальная задача, потому что для этого надо читать файл целиком и искать нужный узел.
А вот если мы пишем результаты в виде стандартного лога, то можно легко дописать в конец файла.

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

API потоковых генераторов могло бы обрабатывать следующие типы событий:

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

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

Хотелось бы получить фидбэк по этому подходу.

@Infactum
Copy link
Contributor

Добавил WIP PR, показывающий, как сейчас реализовать потоковый вывод отчета Allure через плагин утилиту.

@artbear
Copy link
Collaborator Author

artbear commented Jan 24, 2019

выполнено

@artbear artbear closed this as completed Jan 24, 2019
@artbear artbear added the smoke label Jan 24, 2019
@artbear artbear self-assigned this Jan 24, 2019
@artbear
Copy link
Collaborator Author

artbear commented Jan 24, 2019

@Infactum огромное спасибо!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants