我正在为大型项目使用金字塔框架,我发现将所有测试放在一个中很混乱tests.py
文件。所以我决定创建包含我的测试文件的目录。问题是,我不知道如何告诉金字塔从这个目录运行我的测试。
我正在使用运行测试python setup.py test -q
.
但是,在我将测试移至测试目录后,这当然不起作用。该怎么做才能让它发挥作用?
首先,您需要确保tests
不仅仅是一个目录,而是一个Python包,通过创建__init__.py
in it.
您还需要确保在您的模块中命名模块tests
包裹test_something.py
.
大多数测试运行者,作为测试发现的一部分,会寻找名为的模块或包tests
,该包中的模块以test_
并期望测试方法的方法名称(在TestCase
子类)开始test_
.
The unittest http://docs.python.org/library/unittest.html模块将测试运行器描述为:
测试运行器是编排测试执行的组件
并向用户提供结果。跑步者可以使用图形
接口,文本接口,或者返回一个特殊值来指示
执行测试的结果。
有很多不同的测试框架,因此测试运行器有很多,最扩展的unittest
以某种方式并寻找unittest.TestCase
子类。他们可能会做不同类型的测试发现 http://docs.python.org/library/unittest.html#test-discovery,以不同的方式呈现结果或收集代码覆盖率 http://wiki.python.org/moin/CodeCoverage当测试正在进行时。
至于相对进口:你真的应该尽量避免这些。它们使得移动代码变得更加困难(正如您刚刚注意到的)并降低了导入的可读性(从哪里导入什么代码?)。只需使用from myproject.views import my_view
- 事物所在的位置更加清晰
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)