我已经用 Python 3 编写了一段时间,我遇到了这个我真正需要的库: https://github.com/Yelp/python-gearman
但我想尝试将它移植到 Python 3。但我不知道如何在 Python 模块中运行测试。我试过 python -m unittest discover 但它没有发现任何测试。一旦我真的对 Python 3 进行了一些更改,我将如何测试它? Python 3 中的测试机制与 2 中的相同吗?
最佳答案
首先弄清楚如何在 2.7 中运行测试,假设测试目录与 gearman 目录一起安装。 (如果你有 git 并克隆 github 存储库应该是这样,但我没有使用 git,只是 hg。)在 test/目录中,添加并运行如下所示的 shell/console 脚本。 (您没有指定操作系统。)
python -m admin_client_tests
python -m client_tests
python -m protocol_tests
python -m worker_tests
其中 python
在您的系统上调用 2.7。这些模块中的每一个都导入 _core_testing.py,不应直接运行。应该有一种方法可以一次运行所有测试,并且应该记录下来,但作者可能不希望用户运行它们。无论如何,运行 2to3 以生成一个新的包目录,查看消息,将 python
更改为运行 3.x,然后进行测试。过程困难可能是从“无需思考”到“放弃”的任何事情。 (我做了一个转换,大约是 0 到 10 难度等级上的 1 或 2。)如果成功,询问作者是否要使代码 2 和 3 兼容或有一个单独的 3.x 版本。
关于python-2.7 - 我想将一个模块从 Python 2 移植到 3,如何运行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34164658/