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

Выделить tests/testrunner.os в отдельную библиотеку для самостоятельного использования #207

Closed
EvilBeaver opened this issue Dec 31, 2015 · 10 comments

Comments

@EvilBeaver
Copy link
Owner

Originally reported by: Alexander Kuntashov (Bitbucket: kuntashov, GitHub: kuntashov)


Предлагаю выделить скрипт tests/testrunner.os в отдельную библиотеку по аналогии с asserts, чтобы скрипт можно было ставить при помощи opm и использовать при разработке собственных библиотек.


@EvilBeaver
Copy link
Owner Author

Original comment by EvilBeaver (Bitbucket: EvilBeaver, GitHub: EvilBeaver):


@artbear, возьмешься?

@EvilBeaver
Copy link
Owner Author

Original comment by artbear (Bitbucket: artbear, GitHub: artbear):


Да

@EvilBeaver
Copy link
Owner Author

Original comment by Alexander Kuntashov (Bitbucket: kuntashov, GitHub: kuntashov):


Нашел, что подобная задача на гитхабе была, Артур даже название такое же как я написал - EvilBeaver/oscript-library#31

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

Стараюсь писать по ТДД, но обнаружил, что сейчас пока есть некоторый беспорядок во всей инфраструктуре тестирования, напишу то, что бросается сразу в глаза здесь, потом возможно стоит раскидать на отдельные задачи:

  • код для проверок (assertions) в testrunner.os - свой, а надо чтобы использовался модуль asserts и дублирования не было
  • то же самое про работу с ком. строкой (разбор аргументов)
  • модуль asserts/xunit отстает по возможностям от модуля asserts/bdd, в частности нет методов ВыбрасываетИсключение() и некторых других: надо привести функционал к единому виду, если сравнивать с xUnitFor1C - то от него отставание по функционалу еще больше (хотя сужу поверхностно - смотрю просто на общее количество методов-проверок, пока внимательно не анализировал, какие вообще имеет смысл переносить, очевидно, что не все);
  • Не обнаружил проверок "ПроверитьСтруктурыИдентичны" и "ПроверитьСоответствияИдентичны" или аналогичных нигде (поправьте, если ошибаюсь), даже в xUnitFor1C их не нашел. Не возникало такой потребности?

Готов поучаствовать как разработчик в наведении порядка/развитии, порядка 4-5 часов в неделю постараюсь выделять.

@EvilBeaver
Copy link
Owner Author

Original comment by artbear (Bitbucket: artbear, GitHub: artbear):


Testrunner.os сильно отстал от xUnitFor1c и был разработан, когда никаких
библиотек еще не было.
Конечно, обязательно нужно выделить библиотечные части.
Саша, буду рад твоему присоединению

@EvilBeaver
Copy link
Owner Author

Original comment by Alexander Kuntashov (Bitbucket: kuntashov, GitHub: kuntashov):


@artbear Рули тогда :) Я просто пока еще не на 100% въехал в инфраструктуру, в процессе, поэтому полноценной картины как и что должно быть не могу сформировать, слишком еще маленький опыт + отсутствие знаний, а вы давно и много пишете, наверное уже есть видение, как должно быть. У @EvilBeaver тоже наверняка есть идеи, как и что должно быть с учетом того, что этот же testrunner.os должен быть удобным для использования:

  • при тестировании сборок самого 1Script
  • при тестировании "официальных" библиотек
  • при тестировании сторонних библиотек/скриптов, которые будут писать "третьи лица"

@EvilBeaver
Copy link
Owner Author

Original comment by EvilBeaver (Bitbucket: EvilBeaver, GitHub: EvilBeaver):


Мы с @artbear уже обсуждали это в Hangouts. Даже название промелькнуло - toster. Хотя потом, название забраковали.
Суть в том, что должно быть самостоятельнгое приложение, в стиле opm или gitsync.

@EvilBeaver
Copy link
Owner Author

Original comment by Alexander Kuntashov (Bitbucket: kuntashov, GitHub: kuntashov):


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

@EvilBeaver
Copy link
Owner Author

Original comment by Alexander Kuntashov (Bitbucket: kuntashov, GitHub: kuntashov):


  • Если в ком. строке testrunner.os передать в качестве аргумента имя конкретного теста, но такого тестового метода пока нет (-run tests/yadisk-test.os "Тест_ЭтогоТестаНет"), то скрипт будет выполнять все методы, а ожидается, что он остановится с исключением "Тестовый метод <Тест_ЭтогоТестаНет> не определен".

@EvilBeaver
Copy link
Owner Author

Original comment by EvilBeaver (Bitbucket: EvilBeaver, GitHub: EvilBeaver):


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

@EvilBeaver
Copy link
Owner Author

Original comment by Alexander Kuntashov (Bitbucket: kuntashov, GitHub: kuntashov):


Ок, закрывай, я перенесу значимую информацию в одиин комментарий на гитхаб в задачу EvilBeaver/oscript-library#31, а Артур там раскидает, если необходимо, на разные таски.

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

1 participant