gpt4 book ai didi

python - 引导测试和使用 Python 测试发现

转载 作者:行者123 更新时间:2023-11-28 23:04:42 24 4
gpt4 key购买 nike

我继续让它“引导”我的测试的问题。

我遇到的问题正是what this guy has .

顶级解决方案讨论了创建“boostrap”脚本。我假设我必须然后枚举所有要运行的测试,或者使用 __all__ 关键字在 __init__.py 文件中使用测试 list 。但是,我注意到 most recent Python documentation on unittest不再谈论 __all__ 了。

在 2.7 中,我们有名为“discovery”的 python 命令

python -m unittest discover

效果更好。因为:1)不需要 Nose 2) 不需要测试 list

但是好像没有办法“bootstrap”

我需要使用另一个测试运行器吗?一种允许引导和发现的方法?

我需要 py.test 吗?
http://pytest.org/

我需要引导的原因是 this guy has 的问题.基本上,如果我直接运行测试,我的导入语句将无法正常工作。我想从我的项目的顶部执行我的测试套件,就像应用程序正常运行时一样。

毕竟,import 语句总是相对于它们的物理位置。 (顺便说一句,我认为这是 Python 中的一个障碍)

定义:什么是引导?引导意味着我想在整个项目中运行任何测试之前进行一些设置。这有点像我要求在整个项目级别进行“测试设置”。

更新 Here is another posting about the same thing .使用这个 2.7 命令,我们可以避免 Nose。但是如何添加 Bootstrap 呢?

最佳答案

我明白了!

使用我编写并称为“runtests.py”并放置在我的项目根目录中的这个脚本,我能够“引导”,即运行一些初始化代码并使用发现。哇!

在我的例子中,“ Bootstrap ”代码是两行:

import sys
sys.path.insert(0, 'lib.zip')

谢谢!

#!/usr/bin/python

import unittest
import sys
sys.path.insert(0, 'lib.zip')

if __name__ == "__main__":
all_tests = unittest.TestLoader().discover('.')
unittest.TextTestRunner().run(all_tests)

关于python - 引导测试和使用 Python 测试发现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7432359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com