Есть ли способ раскрасить выход теста Django? В основном красный/зеленый фактор для прохода или неудачных результатов?
Я использую Mac OS X с помощью Terminal.app
.
Есть ли способ раскрасить выход теста Django? В основном красный/зеленый фактор для прохода или неудачных результатов?
Я использую Mac OS X с помощью Terminal.app
.
Если вы уже используете Fabric для развертывания, вы можете использовать этот фрагмент из @codeinthehole blog post:
from fabric.colors import _wrap_with
green_bg = _wrap_with('42')
red_bg = _wrap_with('41')
# Set the list of apps to test
env.test_apps = "app1 app2"
def test():
with settings(warn_only=True):
result = local('./manage.py test %(test_apps)s --settings=settings_test -v 2 --failfast' % env, capture=False)
if result.failed:
print red_bg("Some tests failed")
else:
print green_bg("All tests passed - have a banana!")
Он не окрашивает отдельные тестовые выходы, но дает вам мгновенное удовлетворение от красных/зеленых...
Я нашел pyrg
для работы достаточно хорошо:
pyrg manage.py test
Необходимая команда может быть установлена с помощью pip:
pip install pyrg
redgreenunittests - это самое простое решение и отлично работает с python 3.x
Установите его
pip install redgreenunittest
добавьте следующую строку в settings.py
TEST_RUNNER = "redgreenunittest.django.runner.RedGreenDiscoverRunner"
и не забывайте пользоваться:)
./manage test
Я знаю, что это старый вопрос, но django-rainbowtests стремится сделать это. Ошибки и ошибки красные, успех зеленый, и он выделяет код проекта в больших трафаретах.
Посмотрите Печать в терминале с цветами с использованием Python?. Вы должны иметь возможность изменять или разворачивать свою собственную раскраску.
Я нашел возможное решение, называемое pyrg в этом вопросе. К сожалению, для меня это не сработало.
Если вы не используете Fabric, вам может понравиться redgreenunittest
. В основном вы просто помещаете его в нужное место в своем проекте (возможно, в вашей виртуальной среде), а затем указываете его как свой TEST_RUNNER
в своих настройках следующим образом:
TEST_RUNNER="redgreenunittest.django.simple.RedGreenTestSuiteRunner"
Если вы используете только тестовый хелпер-код Django (в основном django.test.TestCase), то это должно сделать это. в противном случае вам может потребоваться ссылка redgreenunittest
прямо так:
import redgreenunittest as unittest
Затем вы просто запускаете свои тесты. И у них будут цвета. Как волшебство.