让`python setup.py test`语法工作?

A T*_*A T 11 python unit-testing distutils setup.py python-unittest

我怎么python setup.py test去上班? - 当前输出:

$ python setup.py test  # also tried: `python setup.py tests`
/usr/lib/python2.7/distutils/dist.py:267: \
                           UserWarning: Unknown distribution option: 'test_suite'
  warnings.warn(msg)
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help

error: invalid command 'test'
Run Code Online (Sandbox Code Playgroud)

PROJ_NAME/setup.py

from distutils.core import setup

if __name__ == '__main__':
    setup(name='foo', version='0.1', package_dir={'foo': 'utils'},
          test_suite='tests')
Run Code Online (Sandbox Code Playgroud)

PROJ_NAME /测试/ foo_test.py

from unittest import TestCase, main as unittest_main


class TestTests(TestCase):
    def setUp(self):
        pass

    def test_foo(self):
        self.assertTrue(True)
        self.assertFalse(False)


if __name__ == '__main__':
    unittest_main()
Run Code Online (Sandbox Code Playgroud)

tuo*_*mur 15

test_suitesetuptools的一个功能.用它替换distutils:

from setuptools import setup
Run Code Online (Sandbox Code Playgroud)

  • 正如文档所建议的那样,您的“test_suite”可能应该包含“proj_name.tests”。 (2认同)