Модульные тесты Python Perfom через веб-интерфейс

Действительно ли возможно выполнить тесты unittest через веб-интерфейс... и раз так как?

Править: На данный момент я хочу результаты... для тестов, я хочу, чтобы они были автоматизированы... возможно каждый раз, когда я вношу изменение в код. Извините я забыл делать это более ясным

7
задан Stephen 25 May 2010 в 13:41
поделиться

2 ответа

РЕДАКТИРОВАТЬ:

Этот ответ на данный момент устарел:

  • Используйте Jenkins вместо Hudson (то же самое, новое имя).
  • Используйте django-jenkins вместо xmlrunner.py.

Ссылка на django-jenkins ведет к хорошему руководству по использованию Jenkins с Django. Я оставлю текст ниже, так как в нем все еще есть полезная информация.


Как сказал Брайан, я бы использовал Hudson для планирования, запуска и сбора результатов тестов. Вы можете изменить свои тесты для использования xmlrunner.py (написанного Себастьяном Риттау), который будет выводить результаты ваших тестов в JUnit-совместимый XML-файл для Hudson.

Вот пример того, как тестовый код будет использовать xmlrunner:

import unittest
import xmlrunner

class TheTest(unittest.TestCase):

    def testOne(self):
        self.assertEquals(1, 1)
    def testTwo(self):
        self.assertEquals(2, 2)
    def testThree(self):
        self.assertEquals(3, 4)

if __name__ == '__main__':
    suite = unittest.TestLoader().loadTestsFromTestCase(TheTest)
    xmlrunner.XMLTestRunner().run(suite)

После установки Hudson вы создадите новый проект для репозитория исходного кода, который вы тестируете. Вам понадобится RTFM, но в двух словах:

  1. В разделе «Управление исходным кодом» вы вводите информацию о своих репозиториях и заставляете его периодически опрашивать репо (обычно я просто * * * * * проверяю каждую минуту)
  2. Добавьте команду, которая фактически запускает тестовый сценарий (например, python test.py ).
  3. Проверьте отчет о результатах тестирования Publish JUnit. Если есть ошибка типа «ТЕСТ - *. Xml» ничего не соответствует , вы можете игнорировать ее. Это будет выглядеть примерно так: JUnit Settings
    (источник: snowpeaksoftware.com )

Как только это будет сделано, вы сможете видеть результаты каждого запуска Hudson после регистрации. Это будет выглядеть примерно так:

Hudson Unit Test Results
(источник: snowpeaksoftware.com )

Вы также получите более подробные страницы, подобные этой странице:

Hudson Unit Test Detailed Results
(источник: snowpeaksoftware.com )

и эту страницу:

Hudson Unit Test Detailed Results
(источник: snowpeaksoftware.com )

8
ответ дан 6 December 2019 в 21:10
поделиться

Вы можете использовать Hudson , чтобы запланировать запуск тестов при каждой регистрации кода. Поскольку Hudson - это веб-приложение, вы можете увидеть результаты через Интернет (и / или опубликовать их, и / или отправить по электронной почте вам или вашей команде).

4
ответ дан 6 December 2019 в 21:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: