2010-05-25 2 views
7

Можно ли выполнить тесты unittest через веб-интерфейс ... и если да, то как?Модульные тесты Perfom python через веб-интерфейс

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

+0

ли вы, хотите запустить тесты с веб-интерфейса, просмотреть результаты или и то, и другое? –

+0

@ Эрик: см. Мое редактирование – Stephen

ответ

8

EDIT:

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

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

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


Как сказал Брайан, я бы использовал Hudson планировать, управлять и собирать результаты тестирования. Вы можете изменить свои тесты, чтобы использовать xmlrunner.py (написанный Sebastian Rittau), который выведет ваши результаты теста в 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) 

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

  1. В разделе Управления исходного кода, вы будете ввести свои репозитории информацию и сделать его опрашивать репо периодически (обычно я просто делает * * * * * поэтому он проверяет каждую минуту)
  2. Добавьте команду, которая фактически запускает тестовый скрипт (например, python test.py).
  3. Проверьте отчет о результатах публикации публикации JUnit. Если у него есть ошибка, например 'TEST-*.xml' doesn't match anything, вы можете спокойно проигнорировать ее. Это будет выглядеть примерно так: JUnit Settings http://www.snowpeaksoftware.com/stuff/hudson_config.png

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

Hudson Unit Test Results http://www.snowpeaksoftware.com/stuff/unittest_results.png

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

Hudson Unit Test Detailed Results http://www.snowpeaksoftware.com/stuff/test_results_detailed1.png

и этой страницы:

Hudson Unit Test Detailed Results http://www.snowpeaksoftware.com/stuff/test_results_detailed2.png

4

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

Смежные вопросы