使用典型的测试目录结构运行unittest

使用典型的测试目录结构运行unittest,第1张

使用典型的测试目录结构运行unittest

我认为最好的解决方案是使用

unittest

命令行界面,该界面会将目录添加到,
sys.path
因此您不必(在
TestLoader
类中完成)。

例如,对于这样的目录结构:

new_project├── antigravity.py└── test_antigravity.py

您可以运行:

$ cd new_project$ python -m unittest test_antigravity

对于像您这样的目录结构:

new_project├── antigravity│   ├── __init__.py         # make it a package│   └── antigravity.py└── test    ├── __init__.py         # also make test a package    └── test_antigravity.py

test
包内的测试模块中,您可以
antigravity
照常导入包及其模块:

# import the packageimport antigravity# import the antigravity modulefrom antigravity import antigravity# or an object inside the antigravity modulefrom antigravity.antigravity import my_object

运行一个测试模块:

要运行一个测试模块,在这种情况下

test_antigravity.py

$ cd new_project$ python -m unittest test.test_antigravity

只需以导入模块的相同方式引用测试模块即可。

运行单个测试用例或测试方法:

您也可以运行一个

TestCase
或单个测试方法:

$ python -m unittest test.test_antigravity.GravityTestCase$ python -m unittest test.test_antigravity.GravityTestCase.test_method

运行所有测试:

您还可以使用测试发现功能来为您发现并运行所有测试,它们必须是命名的模块或软件包

test*.py
(可以用
-p, --pattern
标志进行更改):

$ cd new_project$ python -m unittest discover$ # Also works without discover for Python 3$ # as suggested by @Burrito in the comments$ python -m unittest

这将运行包中的所有

test*.py
模块
test



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5616577.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存