Посмотрите на команду find
и проверьте переключатели -type
(используйте d, чтобы указать каталог) и -exec
(чтобы указать команду для выполнения).
В разделе if __name__ == '__main __':
, который вы нам не показываете, вам потребуется optparse
, а затем del sys.argv [1:]
перед передачей управления коду unittest
, чтобы последний код не пытался снова интерпретировать параметры командной строки когда вы уже имели дело с ними. (Немного сложнее иметь некоторые собственные параметры и также передать некоторые из них в unittest
, хотя это можно сделать, если у вас есть такие сложные потребности).
Вы не должны принимать аргументы и параметры для запуска модульных тестов, поскольку таким образом вы заставляете их работать в других, менее предсказуемых условиях. Вы должны понять, почему вам нужно запускать тесты с разными данными, и сделать свой набор тестов достаточно полным, чтобы охватить все наборы данных, не выполняя каждый раз по-разному.