2016-07-25 63 views
0

我有一些功能只能在特定的物理位置運行,並且通過主機名知道。這是在一個調用socket.gethostname()的cython模塊中產生的。更改主機名以進行持續集成測試

是否有使用socket.gethostname()進行測試的測試運行的主機有不同的數據?

回答

1

您可以使用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一樣運行。

+0

完美。這正是我需要的。 –