【发布时间】:2011-11-17 22:37:19
【问题描述】:
一个问题,我继续让它“引导”我的测试。
我遇到的问题正是what this guy has。
顶级解决方案谈到了创建“boostrap”脚本。我假设我必须枚举所有要运行的测试,或者使用__all__ 关键字在__init__.py 文件中使用测试清单。但是,我注意到most recent Python documentation on unittest 不再谈论__all__。
在 2.7 中,我们有名为“discovery”的 python 命令
python -m unittest discover
效果更好。因为: 1)不需要鼻子 2) 不需要测试清单
但它似乎没有办法“引导”
我需要使用另一个测试运行器吗?一种允许引导和发现?
我需要 py.test 吗?
http://pytest.org/
我需要引导的原因是this guy has 的问题。基本上,如果我直接运行测试,我的导入语句就不能正常工作。我想从我的项目顶部执行我的测试套件,就像应用程序正常运行时一样。
毕竟,import 语句总是相对于它们的物理位置。 (顺便说一句,我认为这是 Python 中的一个障碍)
定义:什么是引导? 引导意味着我想在整个项目中运行任何测试之前进行一些设置。这有点像我要求在整个项目级别进行“测试设置”。
更新 Here is another posting about the same thing。使用这个 2.7 命令,我们可以避免鼻子。但是如何添加引导程序呢?
【问题讨论】:
-
所以问题是,当您不在项目的顶端时,您想通过某种方式进行发现 + 引导?这似乎是一个非常有限的用例,我只从我的项目顶部运行测试。
-
我想我可能打错了。我确实想从我的项目的顶部开始它——就像我正常运行我的应用程序一样。
标签: python unit-testing