更改主机名以进行持续集成测试
change hostname for continuous integration testing
我有一些功能只在特定的物理位置运行并且通过主机名识别。这是在调用 socket.gethostname().
的 cython 模块中生成的
是否有使用 socket.gethostname() 进行测试的测试与测试 运行 上的主机不同的数据?
您可以使用 mock
module:
import mock
import socket
with mock.patch("socket.gethostname", return_value="completely fake"):
print socket.gethostname()
Thsi 在 stdout
上打印 completely fake
。
mock
与 Python 3.3 及更高版本(如 unittest.mock
)捆绑在一起,并可作为 Python 2.6.x 及更高版本的反向端口.上面的代码按原样运行 Python 2.7.x。
我有一些功能只在特定的物理位置运行并且通过主机名识别。这是在调用 socket.gethostname().
的 cython 模块中生成的是否有使用 socket.gethostname() 进行测试的测试与测试 运行 上的主机不同的数据?
您可以使用 mock
module:
import mock
import socket
with mock.patch("socket.gethostname", return_value="completely fake"):
print socket.gethostname()
Thsi 在 stdout
上打印 completely fake
。
mock
与 Python 3.3 及更高版本(如 unittest.mock
)捆绑在一起,并可作为 Python 2.6.x 及更高版本的反向端口.上面的代码按原样运行 Python 2.7.x。