Около 3 лет назад я перешел с C# разработки на Python. Два с половиной года я пытался найти инструмент, который был бы похож на NCrunch по удобству в ежедневной работе.
В какой-то момент я забил на unit-тестирование, и писал код, прогоняя тесты на CI.
Но идея никак не уходила из головы. Хотелось создать инструмент, который бы значительно упрощал разработку с помощью тестов, при этом, рекомендовать его коллегам и друзьям.
Полгода разработки, и активное использование на собственных проектах, вызывает желание показать продукт сообществу.
«А зачем мне это нужно?»:
1. Автоматический запуск только тех тестов, которые затронуты изменениями кода. (Запуск происходит в фоновом режиме, и не отвлекает от написания кода)
2. Понимание, какие конкретно тесты, затрагивают определенную строчку кода (Удобно, например, отслеживать путь выполнения программы и понимать какие ветви кода еще не покрыты тестами):
3. Красныетряпкимаркеры, визуализируют проблемные строчки кода, которые требуют особого внимания:
Технически, проект состоит из двух частей: движок и PyCharm-плагин, которые общаются между собой через веб-сокеты. Вся логика заключена в движке, плагин лишь отрисовывает внутреннее состояние движка. (Еще есть третья часть – папка `front` на гитхабе, я сам ее использовал, пока писал плагин для IDE)
Скачиваем бета версию, и пробуем в своих проектах. Не забудьте прочитать инструкцию для запуска конкретного фреймворка (На данный момент поддерживается PyTest и Django)
Осторожно: Django-тесты, ради ускорения работы и паралельного выполнения, запускаются на той же базе данных, что и `manage.py runserver`. Подробные причины такого решения, и пути обхода можно найти на гитхабе.
Демо целиком:
В какой-то момент я забил на unit-тестирование, и писал код, прогоняя тесты на CI.
Но идея никак не уходила из головы. Хотелось создать инструмент, который бы значительно упрощал разработку с помощью тестов, при этом, рекомендовать его коллегам и друзьям.
Полгода разработки, и активное использование на собственных проектах, вызывает желание показать продукт сообществу.
«А зачем мне это нужно?»:
1. Автоматический запуск только тех тестов, которые затронуты изменениями кода. (Запуск происходит в фоновом режиме, и не отвлекает от написания кода)
2. Понимание, какие конкретно тесты, затрагивают определенную строчку кода (Удобно, например, отслеживать путь выполнения программы и понимать какие ветви кода еще не покрыты тестами):
3. Красные
Технически, проект состоит из двух частей: движок и PyCharm-плагин, которые общаются между собой через веб-сокеты. Вся логика заключена в движке, плагин лишь отрисовывает внутреннее состояние движка. (Еще есть третья часть – папка `front` на гитхабе, я сам ее использовал, пока писал плагин для IDE)
Скачиваем бета версию, и пробуем в своих проектах. Не забудьте прочитать инструкцию для запуска конкретного фреймворка (На данный момент поддерживается PyTest и Django)
Осторожно: Django-тесты, ради ускорения работы и паралельного выполнения, запускаются на той же базе данных, что и `manage.py runserver`. Подробные причины такого решения, и пути обхода можно найти на гитхабе.
Демо целиком: