0
我有一些功能只能在特定的物理位置運行,並且通過主機名知道。這是在一個調用socket.gethostname()的cython模塊中產生的。更改主機名以進行持續集成測試
是否有使用socket.gethostname()進行測試的測試運行的主機有不同的數據?
我有一些功能只能在特定的物理位置運行,並且通過主機名知道。這是在一個調用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及更高版本的backport。上面的代碼像Python 2.7.x一樣運行。
完美。這正是我需要的。 –