更改主机名以进行持续集成测试

时间:2016-07-25 03:24:40

标签: python nose

我有一些功能只能在特定的物理位置运行,并且主机名已知。这是在调用socket.gethostname()。

的cython模块中生成的

是否有使用socket.gethostname()的测试与运行测试的主机有不同的数据?

1 个答案:

答案 0 :(得分:1)

您可以使用mock module

import mock
import socket

with mock.patch("socket.gethostname", return_value="completely fake"):
    print socket.gethostname()

Thsi在completely fake打印stdout

mock与Python 3.3及更高版本(作为unittest.mock)捆绑在一起,可用作Python 2.6.x及更高版本的后端。上面的代码在Python 2.7.x中按原样运行。