Раскрашивание результатов тестов Django - PullRequest
14 голосов
/ 19 октября 2011

Есть ли способ раскрасить результаты теста Django?В основном красный / зеленый фактор для результатов или неудачных результатов?

Я на Mac OS X использую Terminal.app.

Ответы [ 7 ]

11 голосов
/ 07 апреля 2017

redgreenunittests - самое простое решение, и оно прекрасно работает с python 3.x

Установите его

pip install redgreenunittest

добавьте следующееподключитесь к settings.py

TEST_RUNNER = "redgreenunittest.django.runner.RedGreenDiscoverRunner"

и не забудьте насладиться:)

./manage test

6 голосов
/ 27 ноября 2012

Я обнаружил, что pyrg работает достаточно хорошо:

pyrg manage.py test

Необходимую команду можно установить с помощью pip:

pip install pyrg
4 голосов
/ 19 июля 2014

Я знаю, что это старый вопрос, но django-rainbowtests стремится сделать это. Ошибки и ошибки выделены красным, успех - зеленым, и он выделяет код вашего проекта в виде более крупных стековых трасс.

3 голосов
/ 30 июля 2012

Если вы уже используете Fabric для развертывания, вы можете использовать этот фрагмент из сообщения в блоге @ codeinthehole :

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!")

Он не окрашивает отдельные результаты теста, ноэто дает вам немедленное красное / зеленое удовлетворение ...

2 голосов
/ 19 октября 2011

Взгляните на Печать в терминале с использованием цветов Python? .Оттуда вы сможете изменить или раскрутить свою собственную раскраску.

1 голос
/ 11 мая 2013

Если вы не используете Fabric, вам может понравиться redgreenunittest. По сути, вы просто помещаете его в подходящее место в вашем проекте (возможно, в вашей виртуальной среде), а затем ссылаетесь на него как на TEST_RUNNER в ваших настройках, например так:

TEST_RUNNER="redgreenunittest.django.simple.RedGreenTestSuiteRunner"

Если вы используете только тестовый вспомогательный код Django (в основном django.test.TestCase), то это должно быть сделано. в противном случае вам может понадобиться ссылка на redgreenunittest, например, так:

import redgreenunittest as unittest

Тогда вы просто запускаете свои тесты. И у них будут цвета. Как магия.

1 голос
/ 22 мая 2012

Я нашел возможное решение под названием pyrg в этом вопросе . К сожалению, у меня не получилось, как ожидалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...