您可以運行任何鼻子命令形式的Python腳本,如basic nose usage中所述,唯一的技巧是提取測試的數量。我看了看functional tests in nose並想出這樣的事情應該工作,但您可能能夠進一步修剪下來:
import sys
import unittest
from cStringIO import StringIO
import nose
from nose.result import _TextTestResult
class TestRunner(unittest.TextTestRunner):
def _makeResult(self):
self.result = _TextTestResult(
self.stream, self.descriptions, self.verbosity)
return self.result
def count_unit_tests(module_name):
stream = StringIO()
runner = TestRunner(stream=stream)
result = nose.run(
testRunner=runner,
argv=[sys.argv[0],
module_name,
'-s',
'-v',
'--collect-only'
]
)
return runner.result.testsRun
if __name__ == '__main__':
print count_unit_tests('.')
偉大的工作,謝謝! – Chris