2013-12-16 2 views
1

Я хочу написать свою библиотеку в методологии TDD, но я понятия не имею, как создать структуру каталогов (или как использовать unittest). Теперь я создаю дерево каталогов, таких как:Как написать тесты в Python с помощью unittest

myproject (directory) 
    - tests (directory) 
    - src (directory) 
    - test.py (file running tests) 

Каждый класс от src имеет свой собственный unittest класс. Каждый каталог имеет свой собственный файл __init__.py. Я хочу запускать тесты только из файла test.py, и благодаря этому каждый тест может from src.modulename import classname и чем работает тест unittest.main(). К сожалению, он не работает (запускает нулевые тесты).

Это хороший подход? Каковы мои ошибки?

+0

Вы посмотрели на тестирование doc? http://docs.python.org/2/library/doctest.html Мне всегда нравилась его простота –

+0

Да, у меня есть. У меня есть много тестов, написанных в 'unittest', и если это возможно, я предпочел бы использовать их вместо перезаписи на другой фреймворк. – pt12lol

ответ

1

код в файле test.py должен выглядеть следующим образом:

from tests import * 
import unittest 

if __name__ == '__main__': 
    testsuite = unittest.TestLoader().discover('.') 
    unittest.TextTestRunner(verbosity=1).run(testsuite) 

Этот код копирует все тесты из tests каталога, так как она копирует весь пакет. Основной метод использует все методы тестирования, включенные в классы пакетов tests. Каждое имя тестового файла должно начинаться с test.