Вы можете проверить источник Python. Большая часть написана на python. специально модули unittest.
Организация модуля Python и, в частности, unittest является черным искусством. Он напоминает мне о смеси perl (странные недокументированные обходные пути для каждой базовой вещи - в руководстве по unittest никогда даже не показано, как импортировать внешний модуль) и java (ограничения директив и именования)
взгляните на настройку модульного теста для модуля unittest . (нет просмотра исходного кода, вам нужно hg clone
этот URL)
вот часть setup.py для запуска юнит-тестов, кроме всего остального:
# above here, juggle paths
from setuptools import setup
params['entry_points'] = {
'console_scripts': [
'unit2 = unittest2.__main__:main_',
],
}
params['test_suite'] = 'unittest2.collector'
setup(**params)
и даже все, что они сделали, все еще недостаточно, чтобы просто запустить setup.py test
. Вы узнаете, что большинство команд уже отказались от того, что вы просили, и просто добавили test_run.py или что-то подобное в проект. Я знаю все проекты, в которых я участвовал.
Взгляните также на ответ «Нос» выше, он хороший, их setup.py очень чист, несмотря на некоторую увлеченность поддержкой 2, 3, 2to3. это проект, который призван сделать юнит-тест (и общее тестирование) более простым и удобным. ну, даже у них есть скрипт selftest.py
в корне проекта, чтобы попытаться запустить тесты.