我有一些功能仅在特定的物理位置运行,并且通过主机名来识别。这是在调用 socket.gethostname() 的 cython 模块中生成的。
无论如何,使用 socket.gethostname() 进行测试是否有与运行测试的主机不同的数据?
您可以使用该mock模块:
import mock
import socket
with mock.patch("socket.gethostname", return_value="completely fake"):
print socket.gethostname()
Run Code Online (Sandbox Code Playgroud)
这打印completely fake在stdout.
mock与 Python 3.3 及更高版本捆绑在一起(如unittest.mock),并可作为 Python 2.6.x 及更高版本的向后移植。上面的代码在 Python 2.7.x 中按原样运行。
| 归档时间: |
|
| 查看次数: |
1512 次 |
| 最近记录: |