我有一个方法,我想为它创建一个单元测试。ConfigObj只是一个用于解析配置文件的库。方法非常简单:
from configobj import ConfigObj
def read_name():
conf = ConfigObj('/data/myfile')
return conf['name'] conf'name‘返回文件中'name’设置的字符串值。我正试图写一个单元测试来模拟这种返回行为,但是我在conf‘KeyError’上遇到了一个“‘name”。看起来conf实例根本没有被模仿过。
到目前为止,我的测试:
@mock.patch('configobj.ConfigObj')
def test_read_name(self, mock_configobj):
config = mock_configobj.return_value
config.__getitem__.side_effect = 'tom'
self.assertEqual(read_name(), 'tom') 发布于 2018-01-18 13:09:20
事实证明,这非常简单
@patch('configobj.ConfigObj.__getitem__', return_value='tom')
def test_get_name(self, mock_configobj)
self.assertEqual(read_name(), 'tom')https://stackoverflow.com/questions/48313888
复制相似问题