#python #unit-testing
#python #модульное тестирование
Вопрос:
Я знаю, что это возможно, я новичок в Python. Посмотрел на nose. Но nose — это не то, что нам требуется. Должен быть какой-то способ настройки, когда я запускаю python unittest.py --help
самостоятельно. Может ли кто-нибудь из специалистов по python пролить некоторый свет на это, на то, как или где мы можем измениться. Я использую Python 2.6.6
Комментарии:
1. Настроить его для выполнения чего? Вы могли бы создать подкласс unittest. Протестируйте программу и установите unittest.main в качестве этого подкласса, но я не уверен, чего это достигнет. Пожалуйста, поясните, описав, что вы пытаетесь сделать и почему «nose — это не то, что нам требуется».
2. Извините за задержку с ответом.. Мой вопрос заключался в том, чтобы сказать, что я написал программу с библиотекой python unittest. Когда я запускаю $ python unitest.py —справка Я получаю обычную справку по библиотеке python unittest. Я хочу изменить его, чтобы я мог отображать там все мои методы и тестовые примеры
Ответ №1:
Хорошо, вы смотрите на настройку unittest.Тестовая программа. Вы захотите создать что-то вроде myunittest.py и в этом модуле вы сделаете что-то вроде:
# myunittest.py
from unittest import TestProgram
class MyTestProgram(TestProgram):
USAGE = """
Usage: %(progName)s [options] [test] [...]
Options:
-h, --help Show this message
-v, --verbose Verbose output
-q, --quiet Minimal output
Examples:
%(progName)s - run default set of tests
%(progName)s MyTestSuite - run suite 'MyTestSuite'
%(progName)s MyTestCase.testSomething - run MyTestCase.testSomething
%(progName)s MyTestCase - run all 'test*' test methods
in MyTestCase
"""
# additional changes here...
main = MyTestProgram
if __name__ == "__main__":
main(module=None)
Возможно, вас действительно волнует только изменение ИСПОЛЬЗОВАНИЯ, поскольку это текст, напечатанный python unittest.py --help
, но вы, очевидно, могли бы настроить больше.
Обратите внимание, что это специфично для Python2.6. Python 2.7 использует unittest2, с которым я на данный момент не совсем знаком.